1

服务器的语言环境设置正确,在其他域上似乎没问题……但是我目前遇到了一个奇怪的问题。

如果我直接做,strtotime('now');它会返回正确的时间戳(对于我所在时区的今天的日期/时间)但是如果我这样做:

strtotime('07/09/2012 13:48');

它返回 7 月 9 日的时间戳,就像它以美国格式读取日期一样。我已检索时区并将其设置为欧洲/伦敦(通过使用 date_default_timezone_get)。

有任何想法吗?

4

3 回答 3

2
$date = DateTime::createFromFormat('d/m/Y H:i', '07/09/2012 13:48');
echo $date->format('Y-m-d H:i');

http://www.php.net/manual/en/datetime.createfromformat.php

于 2012-09-07T12:05:00.583 回答
1

使用DateTime类和 DateTime::createFromFormat() 方法。

于 2012-09-07T12:04:39.440 回答
0

strtotime将其读取为美国格式。最好使用 ISO yyyy-mm-dd。

请参阅此以获取有效的日期格式

于 2012-09-07T12:03:12.733 回答