首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP DateTime::createFromFormat不能解析ISO 8601日期时间

PHP DateTime::createFromFormat不能解析ISO 8601日期时间
EN

Stack Overflow用户
提问于 2010-12-11 00:59:15
回答 12查看 37.4K关注 0票数 49

代码会说出一百万个单词:

代码语言:javascript
复制
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")工作正常。但我更喜欢知道我得到的是什么输入。

EN

Stack Overflow用户

发布于 2012-05-07 15:45:40

有一个bug报告准确地描述了您的问题:)

https://bugs.php.net/bug.php?id=51950

从2016-08-07开始,bug报告被标记为“非bug”。您需要改用strtotimenew DateTime

已经定义的常量以相同的方式应用于格式化和解析,这强制了您的方式。

票数 44
EN
查看全部 12 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4411340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档