php strtotime not working



所以我使用strtotime:

将这个字符串转换为时间戳
strtotime("1 Nov, 2001");

得到时间戳1320177660

但是当我再次尝试使用在线时间戳转换器将1320177660转换为正常日期格式时,这一年最终是2011年而不是2001年…

我做错了什么?

正如@Evan Mulawski的评论所说,"2001"被理解为时间,而不是年份。去掉逗号,让PHP将"2001"解释为年份:

<?php
$ts = strtotime("1 Nov 2001");
echo $ts . "n";
$st = strftime("%B %d, %Y, %H:%M:%S", $ts);
echo $st . "n";
?>
输出:

1004590800
2001年11月1日,00:00:00

你没有做错什么,只是strtotime不是绝对正确的。

因此,如果您知道字符串总是采用某种格式,那么有时建议您自己解析日期,或者如果您正在运行PHP 5.3。您可以使用DateTime::createFromFormat为您解析字符串

如果strtotime()不工作,那么尝试这个

strtotime(。大小写不敏感 ('/','', $ 日期));

它将正常工作。不要在date中使用'/',因为当你格式化它时,它可能会检测到这种类型的问题。由于

相关内容

  • 没有找到相关文章

最新更新