$orderDate = date('d/m/Y H:i:s', strtotime($result[$x]['date_modified']) );
echo "<br>".$orderDate;
$endTime =date('d/m/Y H:i:s',strtotime('+10 minutes', $orderDate));
echo "<br>".date('d/m/Y H:i:s', $endTime);
打印为
28/05/2018 09:27:45 -这是正确的
通知:在第4166行的C:\xampp5.5\htdocs\php\index.php中遇到格式不正确的数值
注意:在第4167行的C:\xampp5.5\htdocs\php\index.php中遇到格式不正确的数值
1970年1月1日12:00:01 -为什么不工作?
发布于 2018-05-28 20:09:49
$orderDateTimestamp = strtotime($result[$x]['date_modified']);
$endDateTimeStamp = strtotime('+10 minutes', $orderDateTimestamp);
$orderDate = date('d/m/Y H:i:s', $orderDateTimestamp);
$endDate = date('d/m/Y H:i:s', $endDateTimeStamp);
echo $orderDate.'<br>'.$endDate;
strtotime要求第二个参数是整数(时间戳)。此外,它接受的字符串源并不是所有的格式,比如d/m/Y
(还要检查$result[$x]['date_modified']
的格式,如果它来自MySql结果集,那么它应该不会有问题,因为它是Y-m-d H:i:s
)。所以用这个解决方案来纠正它,它应该是有效的。
发布于 2018-05-28 18:40:04
对于一些日期格式,strtotime
函数将不起作用,d/m/Y
就是其中之一。为了正确操作日期和时间,一种推荐的格式是MySQL日期格式,即YYYY-mm-dd
,并对其进行进一步处理。
更多内容请阅读:The strtotime documentation reads
通过查看各个组件之间的分隔符,可以消除m/d/y或d-m-y格式的
日期的歧义:如果分隔符是斜杠(/),则假定为美国的m/d/y;而如果分隔符是短划线(-)或点(.),则假定为欧洲的d-m-y格式。
发布于 2018-05-28 18:44:14
使用DateTime::createFromFormat接受所有类型的日期和时间格式
$dt = DateTime::createFromFormat('d/m/Y h:i:s', '28/05/2018 09:27:45');
$dt->add(new DateInterval('PT10M'));
echo $dt->format('d/m/Y h:i:s');
https://stackoverflow.com/questions/50564274
复制相似问题