Strtotime php的怪异响应



我有一个代码,其中我正在使用 strtotime((在PHP中获取 DATE TIMESTAMP

遇到了它的奇怪响应。

案例1.我得到了一个日期,例如"星期二7月2日下午6点": strtotime给予bool(false(。

<?php $case1 = strtotime("Tue July 2 6pm"); 
var_dump($case1);
?>

案例2。如果日期类似于"星期二7月2日下午6:00":strtotime给时间戳" 1562115600 ",则为当年。

<?php $case2 = strtotime("Tue July 2 6:00pm"); 
var_dump($case2);
?>

任何人都可以帮我吗?为什么 strtotime为第一种情况提供了bool(false(

可以做些什么来解决此问题,请提供帮助?

检查strtotime的PHP手册:

该功能希望给出一个包含英语日期格式的字符串,并将尝试将该格式解析为UNIX时间戳(自1970年1月1日以来00:00:00 UTC以来的秒数(,

返回成功的时间戳,否则为false。

要修复,必须将其转换为有效格式

PHP中的有效日期时间格式

到您的第一点:

<?php
date_create("Tue Jul 2 6pm");
var_dump(date_get_last_errors());

给出一个错误:"在数据库中找不到时区"。这意味着它不被识别为有效的日期/时间字符串。您可以明确指定格式:

date_create_from_format("D F j ga", "Tue Jul 2 6pm")

相关内容

  • 没有找到相关文章

最新更新