将 Unix 时间戳转换为区域设置时区
所有,
我怎样才能将本地时区的日期和时间转换为unix时间戳。对于时间戳 = 1303374724716,PHP 的 date ('r', $timestamp)
函数给出 Sun, 16 May 2032 22:11:37 +0000
而 纪元转换器正确转换为GMT:2011 年 4 月 21 日星期四 08:32:04 GMT
您的时区:Thu Apr 21 2011 04:32:04 GMT-0400(东部夏令时间)
我已经看到了 php.ini 文件,默认时区是 UTC。我不明白为什么该值甚至与 GMT/UTC 时间不匹配。任何人都可以帮我转换为我的本地时区,即 New_York。
All,
How can I convert to a unix timestamp to date and time in local timezone. For timestamp = 1303374724716, the date ('r', $timestamp)
function of PHP gives me Sun, 16 May 2032 22:11:37 +0000
whereas the epoch converter CORRECTLY converts toGMT: Thu, 21 Apr 2011 08:32:04 GMT
Your timezone: Thu Apr 21 2011 04:32:04 GMT-0400 (Eastern Daylight Time)
I have seen the php.ini file and the default timezone is UTC. I don't understand why the value doesn't even match the GMT/UTC time. Can anyone please help me convert to my local timezone i.e. New_York.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是因为您给出的时间戳以毫秒为单位。
做:
一切都会按预期进行。
That is because the timestamp you are given is in milliseconds.
Do:
And everything will work as expected.
文档说:
如果您运行,
您将得到一个类似
1304640077
的数字。请注意,它比您尝试传递的数字小 1000 倍。
换句话说,您应该向其传递一个以秒为单位的值,而不是毫秒。
要设置时区,请使用 date_default_timezone_set,例如
或在 php.ini 中设置 date.timezone文件。
The docs say:
If you run
you will get a number like
1304640077
.Note that it is 1000 times smaller than the number you are trying to pass it.
In other words, you should be passing it a value in seconds, not milliseconds.
To set the time zone, use date_default_timezone_set, e.g.
or set date.timezone in the php.ini file.