在处理时区时如何处理全天和定时事件?

时间:2014-08-12 23:53:20

标签: php mysql sql events calendar

我正在创建一个应该支持全天活动和开始/结束时间的日历。该网站还必须处理用户的时区。

我的问题是: - 具有开始/结束时间的事件应该本地化到用户的时区,事件的当天可能会发生变化,这就是预期的功能。 - 全天活动应始终为所有用户的相同日期。

我将日期作为UNIX时间戳存储在数据库中,而且我无法正常处理这两个要求。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以存储单个UTC日期时间值并根据(1)用户的时区(参见CONVERT_TZ)和(2)事件指示器进行调整,以指示它是全天还是不。如果不是全天,请将日期时间转换为日期(不进行时区转换),否则应用上述时区转换。如果要保存数据库字段,请在结束时使用第二个日期时间,使其为全天事件保留为空。