当前位置: 首页 > 面试题库 >

PHP夏令时检测

文华美
2023-03-14
问题内容

我需要在当地时间上午9:00向世界各地的用户发送电子邮件。该服务器在英国。我所能做的是在每个用户和服务器时间之间设置一个时差,如果不存在DST,则可以完美地工作。

这是一个示例来说明它:

  • John在纽约工作,比服务器(英国)时间早-5个小时
  • Richard在英国伦敦工作,因此与服务器的时差为0小时。

当服务器在某个星期日的凌晨2:00从GMT转到GMT +1(BST)时,这意味着John现在的时差为-6H。

这种情况下我仍然可以通过更新所有用户的服务器的本地时间之外处理,但一旦我前进/后退的所有其他用户的时候,我还需要一种方法来检测
(时间和日期)的用户生活英国以外的地区将(或不会)将当地时间更改为可能的夏令时。

我需要一个PHP方法来知道/检测世界上其他地方何时进入/退出DST。


问题答案:

您是否需要自己了解DST过渡的所有详细信息?还是只需要知道给定时区的上午9:00?

如果是后者,PHP可以使用操作系统的时区数据库为您完成此操作。该的strtotime()函数在“搞清楚”你的意思是非常好:

echo strtotime("today 9:00 am America/New_York");  // prints "1306501200"
echo strtotime("today 9:00 am Europe/London");     // prints "1306483200"

只要确保您使用的是PHP支持的时区之一即可。



 类似资料:
  • 轻触方格启用设定,即可将夏令时反映于时间显示中。

  • 问题内容: 如何检查夏令时是否有效? 问题答案: 您可以使用并查看返回值中的标志。 使用,您可以在任意时间问相同的问题,以了解DST在当前时区是否有效。

  • 夏令时间 选择[标准]或[夏令时间]。

  • 问题内容: 我正在编写一个处理很多时区并跨越时区的程序。我最常处理的两件事是从“ now”创建一个datetime对象,然后本地化一个朴素的datetime对象。 要从现在开始在太平洋时区创建datetime对象,我目前正在执行此操作(python 2.7.2+) 关于DST,这是否正确?如果没有,我想应该这样做: 我的问题是为什么?谁能告诉我第一个错误而第二个秒正确的情况? 至于我的秒数问题,假

  • 约旦有夏令时...是,还是不?? 谢了!

  • 我的API使用ISO 8601向客户表示时间。我们有一个功能,我们希望显示它来自哪个时区。通过纯粹存储时区偏移,我们失去了对该细节的跟踪。 即,犹他州和亚利桑那州在一年中的一半时间遵守MST,犹他州在另一半时间切换到MDT。我们目前的解决方案是确定日期是否在夏令时,并在夏令时使用时区,否则使用,但亚利桑那州的ISO 8601日期将导致太平洋夏令时。 有没有办法指定是否以ISO 8601格式观察夏令