代码会说出一百万个单词:
php > echo strtotime("2010-12-07T23:00:00.000Z");
1291762800
echo date('c', 1291762800);
2010-12-08T00:00:00+01:00
php > var_dump(DateTime::createFromFormat('c', "2010-12-07T23:00:00.000Z"));
bool(false)
php > var_dump(DateTime::createFromFormat(DateTime::ISO8601, "2010-12-07T23:00:00.000Z"));
bool(false)知道是怎么回事吗?
顺便说一句,是的,新的DateTime("2010-12-07T23:00:00.000Z")工作正常。但我更喜欢知道我得到的是什么输入。
发布于 2012-05-07 15:45:40
有一个bug报告准确地描述了您的问题:)
https://bugs.php.net/bug.php?id=51950
从2016-08-07开始,bug报告被标记为“非bug”。您需要改用strtotime或new DateTime。
已经定义的常量以相同的方式应用于格式化和解析,这强制了您的方式。
https://stackoverflow.com/questions/4411340
复制相似问题