Rud*_*die 2 php time timezone datetime utc
我运行了这个脚本:
echo date_default_timezone_get()."\n";
echo "----\n";
date_default_timezone_set('Asia/Kabul');
echo date_default_timezone_get()."\n";
echo "----\n";
echo time()."\n";
$dt = new DateTime;
echo $dt->format('U') . "\n";
echo "----\n";
date_default_timezone_set('UTC');
echo date_default_timezone_get()."\n";
echo "----\n";
echo time()."\n";
$dt = new DateTime;
echo $dt->format('U') . "\n";
Run Code Online (Sandbox Code Playgroud)
对于所有4个时间戳值,它说:1325905766.
我在某处读到新的DateTime始终将UTC设置为时区,无论时区设置如何,所以我明白了,但是怎么样time()?
几秒钟之前,在另一台服务器上(可能不在欧洲(ideone.com)),它返回4次:1325905723.
那是一样的!(显然有几秒差异,但时区相同.)
time()总是只返回UTC ??? 这是怎么回事??
是的,他们都使用UTC.具体来说,两者time()和U格式都返回自1970年1月1日午夜UTC("Unix纪元")以来经过的非闰秒数.由于纪元是一个固定点,其定义与用户的时区无关,并且从那时起所有时区的秒数相同(忽略相对论效应和诸如此类),time()无论时区设置如何,都返回相同的值.
| 归档时间: |
|
| 查看次数: |
2134 次 |
| 最近记录: |