我有一个数据库字段(日期时间类型的mysql数据库),它由PHP填充.在我的html中,我使用了datetime-local类型的输入.
从表单中,2014-04-18T18:30传递给mysql数据库,将其存储为2014-04-18 18:30:00.
问题是:现在我想检索所述数据(编辑CMS中的日期),并将其作为值放入输入字段.问题是它必须是旧格式,而不是mysql转换为它的格式.我显然可以编写自己的函数来处理它,但我想知道在php中是否有一种默认方式来完成它.是否有RFC格式允许我这样做:
<?php
$database-date = "2014-04-18 18:30:00"; // this would be retrieved from mysql
$newdate = date(DATE_RFC3339, strtotime($database-date)); // convert it ?
echo $newdate; // I would obviously echo this inside the value of my input
?>
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.
小智 9
我有同样的问题,我只需将它放在值字段中解决它:
value = date("Y-m-d\TH:i:s", strtotime($yourdate))
Run Code Online (Sandbox Code Playgroud)
不需要ATOM或W3C
检查日期(). cISO 8601似乎是相同的:
$newdate = date('c', strtotime($databasedate));
Run Code Online (Sandbox Code Playgroud)
HTML5 日期时间本地输入字段要求格式为:
Y-m-d2018-09-30 的日期。例子:
"yyyy-MM-ddThh:mm" 2018-12-31T23:59
因此,按照上述格式,您的输入应如下所示:
<input type="datetime-local" value="<?php echo date('Y-m-d\TH:i', strtotime($database_date)); ?>">
Run Code Online (Sandbox Code Playgroud)
提示:您还可以在 devTools 中检查您的控制台以查看此日期输入所需的格式,如果您的控制台清晰,则您的格式是正确的,否则它将显示如下警告,然后您可以为您测试各种格式ablove 解决方案是正确的:
The specified value "2018-10-16T07:05AM" does not conform to the required format. The format is "yyyy-MM-ddThh:mm" followed by optional ":ss" or ":ss.SSS". jquery.min.js:3
Run Code Online (Sandbox Code Playgroud)