从MySQL到<input type ="datetime-local">

dev*_*ion 4 html php mysql

我有一个数据库字段(日期时间类型的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


Abr*_*ver 6

检查日期(). cISO 8601似乎是相同的:

$newdate = date('c', strtotime($databasedate));
Run Code Online (Sandbox Code Playgroud)


Har*_*hil 5

HTML5 日期时间本地输入字段要求格式为:

  • 格式为Y-m-d2018-09-30 的日期。
  • 文字字符串“T”。
  • 时间像23:59

例子:

"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)