如何为输入类型“datetime-local”设置值?
2022-08-30 12:36:16
我试过这个:
<input type="datetime-local" value="<?php echo $row['Time']; ?>" class="date" name="start" REQUIRED>
如何使用数据库中的数据设置此输入字段的值?
它不起作用!
我也需要使编辑成为可能。
还是我应该使用其他类型的输入?
来自数据库!$row['Time']
我试过这个:
<input type="datetime-local" value="<?php echo $row['Time']; ?>" class="date" name="start" REQUIRED>
如何使用数据库中的数据设置此输入字段的值?
它不起作用!
我也需要使编辑成为可能。
还是我应该使用其他类型的输入?
来自数据库!$row['Time']
我不知道里面有什么,但它应该如下:$row['Time']
定义
RFC 3339 中定义的有效日期时间,具有以下附加限定条件:
- 日期/时间语法中的文字字母 T 和 Z 必须始终为大写
- 相反,日期完全输出的生产被定义为四位或更多位数字,表示大于0的数字
例子
- 1990-12-31T10:59:60Z
- 1996-12-19T16:39:57-08:00
溶液
要在 PHP 中创建 RFC 3339 格式,您可以使用:
echo date('Y-m-d\TH:i:sP', $row['Time']);
或以另一种方式:
echo date("c", strtotime($row['Time']));
或者,如果您更喜欢客观风格:
echo (new DateTime($row['Time']))->format('c');
在代码中
因此,在您的代码中,它看起来如下所示:
<input type="datetime-local" value="<?php echo date('Y-m-d\TH:i:sP', $row['Time']); ?>" class="date" name="start" REQUIRED>
或
<input type="datetime-local" value="<?php echo date("c", strtotime($row['Time'])); ?>" class="date" name="start" REQUIRED>
手动
更多信息可以在这里找到
提交时使用<form>
<input type="datetime-local">
您将获得的值格式如下所示。
2019-09-06T00:21
在输入类型框中设置新值。
您必须使用:
date('Y-m-d\TH:i', strtotime($exampleDate)) //2019-08-18T00:00
解决方案示例:
$exampleDate = "2019-08-18 00:00:00"; //sql timestamp
$exampleDate = strtotime($exampleDate); //convert to unix timestamp
$newDate = date('Y-m-d\TH:i', $exampleDate); //format unix to date
或
$exampleDate = "2019-08-18 00:00:00";//sql timestamp
$newDate = date('Y-m-d\TH:i', strtotime($exampleDate));
如果不使用,您将收到错误strtotime()
注意:遇到格式不正确的数值
- $exampleDate = 2019-08-18 00:00:00 ;
- //Not Working - output(1970-01-01T01:33:39)
- <?php echo date('Y-m-d\TH:i:s', $exampleDate);?>
- //Not Working - output(1970-01-01T01:33:39+01:00)
- <?php echo date('Y-m-d\TH:i:sP', $exampleDate);?>
- //Not Working - output(2019-08-18T00:00:00+02:00)
- <?php echo date("c", strtotime($exampleDate));?>
- //Not Working - output(2019-09-23T19:36:01+02:00)
- <?php echo (new DateTime($row['Time']))->format('c');?>
- //Working Perfect - output(2019-08-18T00:00:00)
- <?php echo date('Y-m-d\TH:i:s', strtotime($exampleDate));?>