$dateTime="2011-10-12 00:00:00";
echo $newDateTime =date("Y-m-d H:i:s", strtotime($dateTime.' -1 hours 30 minutes'));
的上面的代码的结果是'2011-10-11二十三时30分00秒'。但是,正确答案应该是 2011-10-11 22:30:00。错误上的strtotime()
代码中是否存在任何错误,任何人都可以帮助我?
非常感谢
$dateTime="2011-10-12 00:00:00";
echo $newDateTime =date("Y-m-d H:i:s", strtotime($dateTime.' -1 hours 30 minutes'));
的上面的代码的结果是'2011-10-11二十三时30分00秒'。但是,正确答案应该是 2011-10-11 22:30:00。错误上的strtotime()
代码中是否存在任何错误,任何人都可以帮助我?
非常感谢
23:30
是预期的结果(一旦您知道发生了什么)。
字符串(-1 hours 30 minutes
)的相对部件分别处理如-1 hours
和30 minutes
。它们是Relative Formats文档中描述的number space? (unit | 'week')
格式的两个实例。
正因为如此,时间累积相对变化只有-30 minutes
,从午夜开始到23:30
。
获得您想要的效果,无论是:
-90 minutes
)-1 hours -30 minutes
ago
格式as 1 hours 30 minutes ago
有关更多详细信息,请参见http://php.net/datetime.formats.relative。
有趣的是,我从来没有意识到这一点 – 2012-01-10 16:05:50
您正在初始化$ dateTime,然后在您的strtotime表达式中使用$ dateTime2。 – liquorvicar 2012-01-10 10:00:47
@liquorvicar,这是错字错误 – Acubi 2012-01-10 10:03:48