Yan*_*lan 6 php datetime parsing atom-feed
我以这种格式从Feed获取日期:
2009-11-04T19:55:41Z
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用date()PHP中的函数对其进行格式化,但是我收到一条错误消息:
date()期望参数2很长,在/bla/bla.php中给出的对象
我尝试使用preg_replace()删除T和Z,但仍然无法让它工作.
Jos*_*zel 13
strtotime 是一个很棒的函数,用于将日期格式转换为Unix时间戳.
这会给你你想要的东西:
date('my format here', strtotime('2009-11-04T19:55:41Z'));
Run Code Online (Sandbox Code Playgroud)
Pau*_*een 10
关于什么
\DateTime::createFromFormat(\DateTime::ATOM, $AtomDate); // converting Atom date to object
Run Code Online (Sandbox Code Playgroud)
要么
date(\DateTime::ATOM, $timestamp); // formatting timestamp to Atom time
Run Code Online (Sandbox Code Playgroud)
或两者
$dto = \DateTime::createFromFormat(\DateTime::ATOM, $AtomDate);
date('d-M-Y H:i:s', $dto->getTimestamp()); // formatting Atom date to anything you want
Run Code Online (Sandbox Code Playgroud)
甚至更好
$dto = \DateTime::createFromFormat(\DateTime::ATOM, $AtomDate);
$formattedDate = $dto->format('d-M-Y H:i:s');
Run Code Online (Sandbox Code Playgroud)