Ebay API ISO 8601持续时间格式转换为时间戳

3
Ebay API 以 ISO 8601 格式提供时间。例如,它给出了物品剩余时间:P0DT0H1M4S。这是时间的格式:ebay duration
我想将此时间转换为简单的 Y-m-d H:i:s 格式。迄今为止,我尝试了date("Y-m-d", strtotime("P0DT0H1M4S"));,但它无法正常工作。

1
也许不是,那个问题中的日期格式并没有像你的例子中使用持续时间格式。 - Mike B
@MikeB:我已经看到这个问题了,没有运气 :( - casper123
1个回答

3

那个日期区间字符串是ISO 8601持续时间规范,可以与DateTime()DateInterval()一起使用。

$date = new DateTime();
$date->add(new DateInterval('P0DT0H1M4S'));
echo $date->format('Y-m-d H:i:s');

或者作为一个一行代码(PHP 5.4+)
echo (new DateTime())->add(new DateInterval('P0DT0H1M4S'))->format('Y-m-d H:i:s');

Demo


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