相关疑难解决方法(0)

如何存储重复日期,记住夏令时

我在我的数据库中存储事件.我有'开始'和'结束'日期时间,'ticket_start'和'tickets_end'(用于门票销售实际开始/结束时 - 而不是实际事件的开始/结束).

到目前为止,我已经构建了一些方法来完成所有有趣的事情,例如在保存之前将日期/时间转换为GMT,然后返回到各自的时区进行显示.

我将时区存储在varchar字段中,其值为"America/New_York".

但是 - 现在我需要开始处理,如果用户想要允许重复事件.我以前做过,并没有那么重要,但从来没有涉及多个时区.

起初,我认为这没什么大不了的,但后来意识到 - 如果最初的开始日期是7月(例如),并且它每个月重复一年,在某些时候,夏令时将会成功因此,GMT的转换将以不同的方式改变时间.一个月,当转换为12:00时,它会将其更改为-5,然后,由于DST,它会将其更改为-4.

我目前的想法是,我将存储一个'dst'minitint(1),以确定是否在DST期间输入了开始/结束日期,然后在必要时制作一个方法将时间改变一小时.

但是 - 想想我会在这里问这里或许这是一个"正常",或者是一件我想不到的简单事情.

(cakephp 2.4.x)

php mysql datetime cakephp dst

35
推荐指数
1
解决办法
1万
查看次数

标签 统计

cakephp ×1

datetime ×1

dst ×1

mysql ×1

php ×1