我正在将事件存储在我的数据库中。我有“开始”和“结束”日期时间,“tickets_start”和“tickets_end”(用于票务销售实际开始/结束的时间-而不是活动的开始/结束时间)。
到目前为止,我已经构建了一些方法,可以在保存之前将日期/时间转换为GMT,并在显示时转换回它们各自的时区。
我使用varchar字段存储时区,其中值类似于“America / New_York”。
但是-现在我需要开始处理用户是否允许重复事件的情况。我以前做过这件事,这并不是什么大问题,但从未跨越多个时区。
起初,我认为这不是什么大问题,但后来意识到-如果最初的开始日期是7月(例如),并且在接下来的一年中每个月都重复一次,那么在某个时候,夏令时会导致从GMT转换时间的方式不同。一个月,当转换12:00时,它会将其更改为-5,而下一个月,由于DST,它会将其更改为-4。
我目前的想法是,我将存储一个'dst' tinyint(1)表示开始/结束日期是否在DST期间输入,并制作一个方法以在必要时按小时更改时间。
但是-我认为我应该在这里问一下,希望有一种“正常”的方法或我没有考虑到的简单方法。(cakephp 2.4.x)
到目前为止,我已经构建了一些方法,可以在保存之前将日期/时间转换为GMT,并在显示时转换回它们各自的时区。
我使用varchar字段存储时区,其中值类似于“America / New_York”。
但是-现在我需要开始处理用户是否允许重复事件的情况。我以前做过这件事,这并不是什么大问题,但从未跨越多个时区。
起初,我认为这不是什么大问题,但后来意识到-如果最初的开始日期是7月(例如),并且在接下来的一年中每个月都重复一次,那么在某个时候,夏令时会导致从GMT转换时间的方式不同。一个月,当转换12:00时,它会将其更改为-5,而下一个月,由于DST,它会将其更改为-4。
我目前的想法是,我将存储一个'dst' tinyint(1)表示开始/结束日期是否在DST期间输入,并制作一个方法以在必要时按小时更改时间。
但是-我认为我应该在这里问一下,希望有一种“正常”的方法或我没有考虑到的简单方法。(cakephp 2.4.x)