1

我的任务是在本地 TZ 中显示事件的日期。代表的日期是将来的日期,它可能会在本地或事件 TZ 的 DST 更改中运行。

我的老板说,如果涉及的其中一个 TZ 的 DST 发生变化,将活动时间简单地转换为本地时间是不够的,因为星期五@晚上 8 点是不准确的。

我几乎确信这对于我们需要输出信息的目的来说是行不通的,但他坚持认为他希望它完成。

有没有人有一个很好的来源和简单的方法来做这些计算?请记住,这是针对网站上的日期,并且可能需要在大量页面上完成...

4

1 回答 1

0
  1. 从用户那里收集本地时区。您可能希望他们明确选择一个区域,而不是为他们猜测。有些地区的夏令时使用非常不标准。
  2. 以 UTC存储每个日期时间。他们中的每一个。
  3. 确保您的数据库不了解时区,因此不操作日期时间字段,或者它确实了解时区,并且您明确将日期时间的存储设置为 UTC。例如, MySQL 具有可怕的时区支持,而 PostgreSQL 允许您使用日期时间本身定义时区。它很时髦。
  4. 使用 PHP 的DateTime类来表示日期时间,因为这样你就可以...
  5. 使用传递给 DateTime方法setTimezone的 DateTimeZone可以根据需要将 UTC 时间简单地更改为本地时间。
  6. 向用户显示本地正确的日期时间。
  7. ???
  8. 利润!
于 2012-12-08T07:19:33.510 回答