Php 如何检查时间偏移是否为夏令时?

Php 如何检查时间偏移是否为夏令时?,php,time,timezone,Php,Time,Timezone,我使用的CMS允许我访问用户相对于UTC/GMT时间的时间偏移量。因此,如果用户已将其时区设置为EST,则该偏移量将为“-5” 当我需要显示当前时间时,我现在所做的是: date('M j Y h:i A', time() + $offset*3600) 这是有效的,除了当夏令时对用户生效时,则会延迟一小时 因此,我的问题是,如何确定给定的时间偏移量(如“-5”)是否需要添加一个小时?您不能仅从偏移量中得出这一点,因为偏移量适用于整个纬度和没有统一DST的国家。例如,但在其他任何地方。你必须检

我使用的CMS允许我访问用户相对于UTC/GMT时间的时间偏移量。因此,如果用户已将其时区设置为EST,则该偏移量将为“-5”

当我需要显示当前时间时,我现在所做的是:

date('M j Y h:i A', time() + $offset*3600)
这是有效的,除了当夏令时对用户生效时,则会延迟一小时


因此,我的问题是,如何确定给定的时间偏移量(如“-5”)是否需要添加一个小时?

您不能仅从偏移量中得出这一点,因为偏移量适用于整个纬度和没有统一DST的国家。例如,但在其他任何地方。你必须检查一下那个国家是否有DST

另请参见

如果你只有“-5”,那么你没有足够的信息来做出决定。如果您可以安排访问用户所在时区的名称(如“美国/纽约”),则更好。

I(大写字母I)|日期是否在夏令时|如果是夏令时,则为1,否则为0

这有帮助吗?

(相关)有趣的阅读: