gpt4 book ai didi

php - 如何使用 PHP 或 javascript 显示与用户相同时区的日期时间?

转载 作者:行者123 更新时间:2023-12-02 20:37:47 25 4
gpt4 key购买 nike

假设现在我的日期时间显示如下:

2010-05-29 15:32:35

可以通过date_default_timezone_get获取对应的时区,

如何在与用户浏览器相同的时区输出结果,以免用户感到困惑?

最佳答案

没有可靠的方法从 PHP 或 JavaScript 读取用户的区域设置时区设置。

在 JavaScript 中,您可以读取 UTC 与用户当前时区时间之间的偏移量,但这不会为您提供时区名称,因此您要么关闭时区标识符(使时间完全不明确)或者包含它是像 UTC+01:00 这样的显式偏移量,这很丑陋,并且仍然无法处理不同 DST 期间的时区更改。

正如 bobah 所说,您可以在 JavaScript Date 上使用 toLocaleString() 来以客户端的真实桌面时区输出它。但是,这样您就无法控制日期格式。例如,在我的机器上,Chrome 会输出笨拙的内容:

Sat May 29 2010 15:03:46 GMT+0200 (W. Europe Daylight Time)

而 Opera 只是咳嗽:

29/05/2010 15:03:46

由于它根本没有说明时区,因此毫无意义。 IE 也同样简洁,Safari 也没有规定时区。 Firefox 在 Linux 上可以,但在 Windows 上不行。啊。

因此,如果您需要可靠性,处理时区的唯一方法是让用户在其站点设置中手动选择一个时区,然后在为他们生成页面时从 UTC 转换为该时区。您可以在 JavaScript 中猜测最有可能是某些常见时区中的哪一个(有关策略,请参阅 this question),但您不能保证您是正确的。

关于php - 如何使用 PHP 或 javascript 显示与用户相同时区的日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2934465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com