我正在使用的CMS允许我访问用户与UTC / GMT时间的时间偏移。因此,如果用户将其时区设置为EST,则此偏移量将为“-5。”
当我需要显示当前时间时,我正在做的事情如下:
date('M j Y h:i A', time() + $offset*3600)
当夏令时对用户有影响时,除外,
所以,我的问题是,我如何确定给定的时间偏移量(如“-5”)是否需要添加一小时呢?
答案 0 :(得分:8)
答案 1 :(得分:6)
您无法仅从偏移量中得出这一点,因为偏移量适用于整个纬度,而且那些国家/地区没有统一的DST生效。例如in Australia, Daylight Saving Time is not observed in Queensland, the Northern Territory or Western Australia但其他地方。您必须geolocate your users,然后与PHP's DateTimeZone API核对该国家/地区是否有DST。
答案 2 :(得分:2)
如果你所拥有的只是“-5”,那么你没有足够的信息来做出这个决定。如果您可以安排访问用户所在时区的名称(例如“America / New_York”),那将是更好的选择。