现在,夏令时已将所有日期更改为前一天,如何更正使用mktime()存储的日期

时间:2012-10-30 16:38:54

标签: php time mktime

我编写了一个使用以下内容存储日期的Web应用程序:

$event->date = mktime(0, 0, 0, $month, $day, $year);

其中$ month,$ day,$ year来自下拉选择器,即整数值。所以我存储了用户选择当天午夜所代表的日期。

本周末我们有夏令时,现在自上次更改时钟以来添加的所有事件现在都显示为前一天的date('D jS M Y' ,$event->date)

我的问题是双重的:

  • 如何修复数据库中的当前日期,以便将它们输出为正确的日期?我应该一次性在DB中的所有时间添加一个小时吗?

  • 我应该如何存储此时的日期?我应该像这样在午夜加一小时吗? $event->date = mktime(1, 0, 0, $month, $day, $year);

1 个答案:

答案 0 :(得分:0)

1)使用一些SQL查询来更新时间戳 2)您应始终使用UTC时间或纪元,并在客户端请求时即时进行区域设置转换。它会让你的日期无法摆放。