所有
如何在本地时区中将unix时间戳转换为日期和时间。对于timestamp = 1303374724716,PHP的date ('r', $timestamp)
函数给我Sun, 16 May 2032 22:11:37 +0000
,而epoch converter正确转换为
GMT: Thu, 21 Apr 2011 08:32:04 GMT
Your timezone: Thu Apr 21 2011 04:32:04 GMT-0400 (Eastern Daylight Time)
我见过php.ini文件,默认时区是UTC。我不明白为什么这个值甚至与GMT / UTC时间不匹配。任何人都可以帮我转换到我当地的时区,即New_York。
答案 0 :(得分:3)
这是因为给出的时间戳以毫秒为单位。
执行:
$timestamp = floor(1303374724716/1000);
一切都会按预期工作。
答案 1 :(得分:2)
文档说:
timestamp是可选的,默认为time()的值。
如果你跑
print time();
你会得到像1304640077
这样的数字。
请注意,它比您尝试传递的数字小1000倍。
换句话说,你应该以秒为单位传递一个值,而不是几毫秒。
要设置时区,请使用date_default_timezone_set,例如
date_default_timezone_set('America/New_York');
或在php.ini文件中设置date.timezone。