2011-05-05 94 views
1

全部,将Unix时间戳转换为语言环境时区

如何将本地时区中的日期和时间转换为unix时间戳。对于timestamp = 1303374724716,PHP的date ('r', $timestamp)功能给我Sun, 16 May 2032 22:11:37 +0000epoch 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。

回答

3

这是因为您给出的时间戳以毫秒为单位。

做:

$timestamp = floor(1303374724716/1000); 

和预期的一样,一切都会正常工作。

1

的文档说:

时间戳是可选的,默认的时间的值()。

如果运行

print time(); 

你会得到一些像1304640077

请注意,它比您尝试通过它的数量小1000倍。

换句话说,您应该以秒为单位传递一个值,而不是毫秒。

要设置时区,请使用date_default_timezone_set,例如,

date_default_timezone_set('America/New_York'); 

或在php.ini文件中设置date.timezone