强制 php strtotime 使用 UTC
我已经看到了一些与此相关的问题,但没有明确的答案... strtotime() 在将字符串转换为 unix 时间戳时将使用为 PHP 设置的默认时区。
但是,我想将字符串转换为 UTC 格式的 unix 时间戳。既然没有参数可以做到这一点,那么如何做到这一点呢?
我尝试转换的字符串是:2011-10-27T20:23:39,它已经是 UTC 格式了。我想将其表示为 UTC 中的 unix 时间戳。
谢谢
I've seen a few questions about this but not a clear answer... strtotime() will use the default timezone set for PHP when converting the string to a unix timestamp.
However, I want to convert a string to unix timestamp in UTC. Since there is no parameter for doing so, how can this be done?
The string I'm trying to convert is: 2011-10-27T20:23:39, which is already in UTC. I want to represent that as a unix timestamp also in UTC.
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
其他两个答案都很好。由于我有同样的问题,我想提供第三种选择。
给出
string(10)“1319747019”
Both other answers are really fine. As I have the same issue, I want to offer a third option.
gives
string(10) "1319747019"
我意识到这个问题很老了,但我找到了另一个可能有帮助的选择。
您可以将时区指定为传递给 strtotime 的字符串的一部分,而不是设置然后恢复 php 的时区,如下所示:
注意:我使用的是 PHP 5.5.9,但这应该适用于任何 php 版本。
I realize this question is very old, but I found another option that can be helpful.
Instead of setting and then reverting php's time zone, you can specify the timezone as a part of the string you pass to strtotime like so:
Note: I am on PHP 5.5.9, but this should work in any php version.
在进行
strtotime
调用之前设置系统默认时区:查看实际操作 。
Set the system default timezone before making the
strtotime
call:See it in action.