date - 如何处理不同时区的日期和时间?

标签 date localization time internationalization

我正在开发一个国际软件,作为一个简单的项目管理软件,我正面临一个问题。这个问题是关于日期/小时和时区的。
当消息从一个时区发送到另一个时区时,我可以将 UTC (GMT) 时间存储在我的数据库中,然后根据用户的时区以不同的方式显示它。但是当我只使用日期时这是无法做到的。
如果我说一个任务是由于 3 月 21 日。我应该考虑在其他一些国家/地区这个日期可以是 20 或 22 吗?你对这个问题有什么建议?

最佳答案

假设纽约的用户将项目的截止日期设置为“1 月 26 日星期一的任何时间”。这意味着布鲁塞尔的“从 1 月 26 日星期一的 0600 到 1 月 27 日星期二的 0600 的任何时间”和洛杉矶的“从 2000 年 1 月 25 日星期日到 2000 年 1 月 26 日星期一的任何时间”。

所以在 26 日星期一 2100 完成任务在布鲁塞尔和纽约没问题,但在洛杉矶就太晚了。

一种可能的解决方法是永远不要只处理日期。如果未指定时间,请将其设置为用户所在时区中指定的日期的 0000 小时或 2400 小时。

用户可能不得不处理奇怪的截止日期/时间,但作为曾经在国际上工作的人来说,这有点符合地域。

关于date - 如何处理不同时区的日期和时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/480713/

相关文章:

c++ - 在C++中检查日期

postgresql - Postgres 生日选择

ios - 本地化字符串中的奇怪字符

法语和英语字符串的 Android 本地化

time - 网络时间协议(protocol)如何工作?

javascript - 如何使用 JavaScript 获取 UTC 日期?

date - 如何在HIVE中进行字符串日期操作?

angularjs - Angular Dynamic Locale 无法立即工作

c++ - HLSL DirectX9 : Is there a getTime() function or similar?

time - awk ISO 到纪元