从 php 中带有时区标识符的 unix 时间戳返回本地时间 [英] Return local time from unix timestamp with timezone identifier in php

查看:20
本文介绍了从 php 中带有时区标识符的 unix 时间戳返回本地时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在网页上有一个以时区标识符作为值的下拉框(但是,如果这是更好的选择,我可以更改它以保存 GMT 偏移量).目前,用户会将美国/丹佛"之类的内容保存为他/她的时区.

I have a dropdown box on a webpage that takes a timezone identifier as the value (however I can change it to save the GMT offset if that is a better choice). Currently a user would be saving something like "America/Denver" as his / her time zone.

我需要将 unix 时间戳转换为用户的本地时间,以便在页面的另一部分显示.实现这一目标的最佳方法是什么?

I need to convert a unix timestamp into the user's local time for display in another portion of the page. What is the best way to accomplish this?

将 GMT 偏移量存储在数据库中并用于时间计算会更好吗?有人可以在这里指出我正确的方向吗?

Would it be better to store the GMT offset in the database and use that for a time calculation? Can someone please point me in the right direction here?

谢谢!

推荐答案

最简单的方法是使用 DateTime 与:

The easiest approach would be to use DateTime with:

$t = new DateTime();
$t->setTimestamp( $time=time() );
$t->setTimeZone(new DateTimeZone("America/Denver"));
print $t->format(DateTime::RFC850);

时区可以随意更改,使格式化函数重新计算当地时间.

The timezone can be changed at will to cause the format function to recalculate the local time.

这篇关于从 php 中带有时区标识符的 unix 时间戳返回本地时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆