【问题标题】:Convert UTC date to user's timezone in email message将 UTC 日期转换为电子邮件中用户的时区
【发布时间】:2012-04-08 13:19:01
【问题描述】:

我正在构建一个以 UTC 格式在数据库中存储日期/时间值的站点。

当我显示这些值时,我使用 javascript 将它们转换为当前用户的时区。到目前为止,这工作正常。

现在我想通过电子邮件向用户发送一些信息(类似于提醒),这也应该有日期时间。

我不想在电子邮件中打印 UTC 时间,并且由于我是从服务器发送电子邮件,因此我无法访问用户的当前时区。

解决此问题的最佳方法是什么?我应该在用户登录时存储用户的时区并使用它来转换日期吗?

感谢任何cmets。

【问题讨论】:

  • 您如何呈现电子邮件内容?

标签: email date timezone


【解决方案1】:

是的,您可以detect the user's timezone using Javascript,让 Javascript 将该信息提交给服务器,并让服务器将其存储为首选项。如果用户有时会更改时区,您甚至可以跟踪他们最常使用的时区并使用该时区。

【讨论】:

  • 实际上,经过深思熟虑后,我意识到即使这样也很容易出错,因为我需要的偏移量不是用户的偏移量,而是活动将要发生的地方的偏移量(我正在渲染的日期/时间是活动时间)。我将不得不使用一些服务来为我提供给定位置的时间偏移(从 UTC 开始)。
  • There are such services 但是没有好的免费的,也没有好的可以离线查询的。顺便说一句,您需要时区名称(例如“America/Montreal”),而不是直接使用 UTC 偏移量,因为按名称使用时区您会自动知道何时应用 DST 偏移量。
  • 其实我更喜欢一个需要 lat、lng 和 date 的,它可以返回偏移量。同样,这不是主要功能,我认为现在我会坚持使用该服务。
猜你喜欢
  • 1970-01-01
  • 2016-02-17
  • 2021-03-12
  • 2019-09-15
  • 2019-09-07
  • 2011-08-30
  • 1970-01-01
  • 1970-01-01
  • 2017-11-07
相关资源
最近更新 更多