我试过这个:
<input type="datetime-local" value="<?php echo $row['Time']; ?>" class="date" name="start" REQUIRED>
如何使用数据库中的数据设置此输入字段的值?
它不起作用!
我也需要让编辑成为可能。
或者我应该使用其他类型的输入?
$row['Time']
来自数据库!
原文由 Jbadminton 发布,翻译遵循 CC BY-SA 4.0 许可协议
我试过这个:
<input type="datetime-local" value="<?php echo $row['Time']; ?>" class="date" name="start" REQUIRED>
如何使用数据库中的数据设置此输入字段的值?
它不起作用!
我也需要让编辑成为可能。
或者我应该使用其他类型的输入?
$row['Time']
来自数据库!
原文由 Jbadminton 发布,翻译遵循 CC BY-SA 4.0 许可协议
提交时 <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));?>
原文由 Rhalp Darren Cabrera 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答4.2k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读
2 回答861 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
我不确切知道
$row['Time']
中的内容,但应该如下所示:定义
解决方案
要在 PHP 中创建 RFC 3339 格式,您可以使用:
或以另一种方式:
或者如果您更喜欢客观风格:
在您的代码中
因此,在您的代码中,它将如下所示:
或者
手动的
更多信息可以在 这里 找到
PHP日期手册
PHP 日期时间手册