计算具有不同时区的 php 个 ATOM 日期字符串之间的时差

Calculate Time Difference Between php ATOM date strings with different timezones

我正在尝试 运行 循环处理一组日期。

对于我拥有的每个循环项目:

例如:

  1. post 日期 = 2017-05-13T01:51:51+02:00 - 未来日期 = 2017 -05-13T01:00:00-03:00
  2. post 日期 = 2017-04-22T19:26:31+02:00 - 未来日期 = 2017 -04-29T05:00:00+01:00

我想知道的:

我已经使用 date_default_timezone_set() 设置了各自的日期('post date' 和 'future date'

非常感谢!

如果您使用 ATOM 设置日期时间 class,一切都会为您完成。您需要做的就是拿一个diff。例如

$postdate = '2017-05-13T01:50:50+02:00';
$futuredate = '2017-05-13T01:51:51-03:00';

$pd = new DateTime($postdate);
$fd = new DateTime($futuredate);

echo $pd->format(DateTime::ATOM) . PHP_EOL;
echo $fd->format(DateTime::ATOM) . PHP_EOL;

$diff = $pd->diff($fd);

echo $diff->format('%y years %m months %d days %h hours %i minute %s seconds');

生成结果

2017-05-13T01:50:50+02:00
2017-05-13T01:51:51-03:00
0 years 0 months 0 days 5 hours 1 minute 1 seconds