PHP Time Zone Adjustment
我有一段时间在UTC时间发送给我,但我想调整它以便它在东海岸时间(EST / EDT)的日子的外边缘。 也就是说,我希望用户能够输入EDT / EST中心日期,并让它查询UTC正确的日期。
1 2 |
这些日期用于数据库查询,其时间以UTC时间存储。
因此,我希望开始日期是前一天晚上8点或晚上7点,具体取决于夏令时,然后结束于7:59:59或6:59:59,同样取决于夏令时。
我该怎么办?
如果您知道数据来自哪个时区,您可以执行以下操作:
1 2 3 4 5 6 7 | $userTimezone = new DateTimeZone('America/New_York'); $systemTimezone = new DateTimeZone('Europe/London'); $ts = new DateTime($datetime, $userTimezone); $ts->setTimezone($systemTimezone); return $ts->format('Y-m-d H:i:s'); |
其中$ datetime是根据规则的有效日期格式 - http://www.php.net/manual/en/datetime.construct.php
这是我们在web2project中做的核心 - http://web2project.net/ - 在用户选择的时区中获取日期时间,但将其存储在GMT / UTC中。
在MySQL中,您可以执行以下操作:
1 |