首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Date对象:夏令时

Java Date对象:夏令时
EN

Stack Overflow用户
提问于 2012-05-25 23:54:34
回答 3查看 735关注 0票数 0

我有一个基于客户端-服务器的java application.The客户端在美国/太平洋时区运行,服务器在协调时运行(我在数据库中以协调时保存时间)

例如,如果我将日期保存为太平洋时间09:00小时,则它在数据库中将保存为UTC 14:00小时。

当我从DB读回这个时间时,应用了夏令时,它现在转换为太平洋时间08:00小时,而不是09:00小时。

因此,当从太平洋时间转换为UTC时,不会考虑夏令时,但当从UTC转换回太平洋时,将应用不一致的夏令时。

在DB中,列类型是TIME,而在java中,我将它读入date对象。

我该怎么处理呢?

EN

回答 3

Stack Overflow用户

发布于 2012-05-26 00:09:48

通常,DB服务器决定时间、是否应用夏令时和时区,UTC是标准时区。

建议:

  1. 您可能想要将客户端的时间设置为字符串字段和另一个用于时区的字段。
  2. 只为时区创建一个字段,并计算要显示给客户端的时间。
票数 0
EN

Stack Overflow用户

发布于 2012-05-26 00:14:30

我认为你能做的最好的事情就是确保你尽可能多的处理时间,完全不受时区的限制。例如,millis是从Unix时代开始的。然后,您只需在向用户显示数据之前应用时区数据。

因此,在这种情况下,在向服务器报告和从服务器检索时,不要应用任何本地时间假设。这样,数据就不可能有不匹配的时区或DST处理。

票数 0
EN

Stack Overflow用户

发布于 2012-05-26 01:40:14

抛开这些不谈,我建议您手动使用getLong并自己构造Date对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10757642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档