1

我正在使用 php strtotime 函数(Day, month and two digit year, with dots or tabs来自 doc 的日期格式 dmy:http ://www.php.net/manual/en/datetime.formats.date.php )并发现问题:

来自 php.net 示例 strtotime("30.6.08") -> 1214773200 -> Sun, 29 Jun 2008 21:00:00 GMT(反向转换正确)

另一个变体 strtotime("24.10.13") -> 1381180213 -> Mon, 07 Oct 2013 21:10:13 GMT(反向不正确)

但是 strtotime("30.10.13") -> 1383084000 -> 2013 年 10 月 29 日星期二 22:00:00 GMT(再次正确反转结果)

怎么了?

4

1 回答 1

4

Strtotime正在猜测您发送日期的格式并猜测错误。您应该使用DateTime()可以指定发送日期格式的地方。

$date = DateTime::createFromFormat('d.m.y', $datestring);
echo $date->format('Y-m-d');
于 2013-10-07T19:50:11.360 回答