从 php 中带有时区标识符的 unix 时间戳返回本地时间

Return local time from unix timestamp with timezone identifier in php(从 php 中带有时区标识符的 unix 时间戳返回本地时间)
本文介绍了从 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 时间戳返回本地时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Convert JSON integers and floats to strings(将JSON整数和浮点数转换为字符串)
in php how do I use preg replace to turn a url into a tinyurl(在php中,如何使用preg替换将URL转换为TinyURL)
all day appointment for ics calendar file wont work(ICS日历文件的全天约会不起作用)
trim function is giving unexpected values php(Trim函数提供了意外的值php)
Basic PDO connection to MySQL(到MySQL的基本PDO连接)
PHP number_format returns 1.00(Php number_Format返回1.00)