是时间()为所有位置(时区)返回相同的值?

时间:2013-08-14 14:47:48

标签: php

Here说:

  

时间戳是格林威治标准时间1970年1月1日午夜以来的秒数。无论您在世界的哪个位置,无论时区如何,给定的时间戳都代表完全相同的时刻。

所以我试过了:

$date_str="2010-01-10 12:00";

$TimeZone_toronto=new DateTimeZone('America/Toronto');
$date_obj_toronto=new DateTime($date_str, $TimeZone_toronto);
$date_time_stamp_toronto=$date_obj_toronto->format('U'); 

$TimeZone_GMT=new DateTimeZone('GMT');
$date_obj_GMT=new DateTime($date_str, $TimeZone_GMT);
$date_time_stamp_GMT=$date_obj_GMT->format('U');

基于上面的引用:应该是$ date_time_stamp_toronto == $ date_time_stamp_GMT

但这里有价值观:

$date_time_stamp_toronto = 1263142800
$date_time_stamp_GMT     = 1263124800

So => $ date_time_stamp_toronto!= $ date_time_stamp_GMT因为:

1263142800!=1263124800

真相在哪里?

1 个答案:

答案 0 :(得分:7)

分别在多伦多和格林威治 当地时间

“2010-01-10 12:00” 两个截然不同的时间,不同的时间戳。