用PHP从yyyy-mm-ddThh:mm:ss字符串创建日期对象

12
我有一个字符串,格式为 yyyy-mm-ddThh:mm:ss,我想将其转换为日期对象。我该如何做?
我该如何将此字符串转换为日期对象?
4个回答

19
$date = DateTime::createFromFormat('Y-m-d\TH:i:s', '2010-06-03T14:29:00');

+1 非常感谢 - 作为预定义格式 DateTime::ATOM 的替代选择,它类似但还需要时区 +00:00,例如 2005-08-15T15:52:01+00:00。如果你只有 2005-08-15T15:52:01,那么你应该使用上面的答案中的 $date = DateTime::createFromFormat('Y-m-d\TH:i:s' ... 而不是 DateTime::ATOM,因为后者会导致 createFromFormat 返回布尔值 false,对于 2005-08-15T15:52:01(根据我的发现)。谢谢! - therobyouknow

11
你可以使用Datetime的createFromFormat()方法,或者如果不想手动构建格式掩码,可以使用strtotime()将字符串转换为Unix时间戳。

2

1

请记住,由于Unix时间戳的限制,strtotime()函数仅适用于1970年1月1日之后的日期。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接