【发布时间】:2016-08-29 07:58:39
【问题描述】:
我将日期存储在 UTC 中,并以用户时区显示。但是,当我尝试只存储没有时间的日子时,它会误导不同的日期。
例如:在 2016 年 5 月 6 日(2016 年 5 月 6 日)安排活动。此日期对于所有没有时区的地区都是唯一的。如果来自 GMT+5:30 时区的用户尝试在 05/06/2016 上添加事件,则 ISO-8601 格式为 2016-05-05T16:00:00.000Z > 毫秒为 1462464000000。
然后来自 GMT 时区的用户尝试查看此事件。日期将是 05/05/2016 而不是 05/06/2016。
有什么方法可以在没有任何时区的情况下转换日期。
【问题讨论】:
-
在计算和显示日期部分时为什么不考虑时间?例如。您将事件日期创建为 2016-06-05T05:30:00.000Z,将其转换为目标时区(如果需要)并仅显示日期部分?
-
"我将日期存储在 UTC" => 你在哪里存储它?在变量中?在数据库中?如果在数据库中,列类型是什么?等
标签: java date datetime jodatime java-time