【发布时间】:2023-03-25 13:28:02
【问题描述】:
我有一个以 UTC 时间发送给我的时间,但我想对其进行调整,使其位于东海岸时间 (EST/EDT) 日期的外部边缘。也就是说,我希望用户能够输入以 EDT/EST 为中心的日期,并使用 UTC 正确日期进行查询。
$start_date 和 $end_date 是通过 GET 变量传递的 MM/DD/YYYY 格式的日期。
$start_date = date('Y-m-d 00:00:00', $start_date);
$end_date = date('Y-m-d 23:59:59', $end_date);
这些日期用于数据库查询,其时间以 UTC 时间存储。
因此,我希望开始日期是前一天晚上 8 点或晚上 7 点,具体取决于夏令时,然后在 7:59:59 或 6:59:59 结束,同样取决于夏令时。
我该怎么做?
【问题讨论】:
-
您使用的是哪个数据库?例如,Postgres 有一个名为“timestamp with time zone”的字段类型,它完全符合您的要求。数据库会处理您所有的时区转换。
-
你检查date_default_timezone_set()函数了吗?