我将所有日期以 UTC 格式存储在我的数据库中。Cakephp 在 UTC 中运行,并在 UTC 中与 mysql 通信。现在我有以下情况:
debug(CakeTime::format('Y-m-d H:i', '2013-03-22 03:00', false,
new DateTimeZone('Europe/Berlin')));
//output is 2013-03-22 04:00
debug(CakeTime::format('Y-m-d H:i', '2013-04-05 03:00', false,
new DateTimeZone('Europe/Berlin')));
//output is 2013-04-05 05:00
如您所见,CakeTime 在第二个示例中添加了 2 小时的偏移量,我猜这是因为它考虑了 DST(从 2013 年 3 月 31 日开始)。
但是,我要做的是在日历中显示重复发生的事件,并且此事件在每个第二个星期五凌晨 4 点开始 - 总是,即使在夏天也是如此。因此,日历可能不会显示为凌晨 5 点!
/编辑:第一个例子是正确的。活动必须在凌晨 4 点举行。但也在夏天