加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

尴尬的Java日期创建行为

发布时间:2020-12-15 08:40:54 所属栏目:Java 来源:网络整理
导读:当我尝试创建两个日期时,我刚刚发现了 Java的Date类的一个非常奇怪的行为: Date startDate = new Date(1282863600000L);System.out.println(startDate);Date endDate = new Date(1321919999000L);System.out.println(endDate); 输出分别为: Fri Aug 27 00:
当我尝试创建两个日期时,我刚刚发现了 Java的Date类的一个非常奇怪的行为:

Date startDate = new Date(1282863600000L);
System.out.println(startDate);

Date endDate = new Date(1321919999000L);
System.out.println(endDate);

输出分别为:

Fri Aug 27 00:00:00 BST 2010
Mon Nov 21 23:59:59 GMT 2011

有没有人见过这样的东西?两个日期都以相同的方式初始化,但是在打印时,第一个以BST显示,后者以GMT显示?

我试图找到解释,但我没有.有人能帮我吗?

提前致谢!

解决方法

这是记录在案的行为.

Date.toString()开始:

Converts this Date object to a String of the form:

dow mon dd hh:mm:ss zzz yyyy

zzz is the time zone (and may reflect daylight saving time). Standard time zone abbreviations include those recognized by the method parse. If time zone information is not available,then zzz is empty – that is,it consists of no characters at all.

您正在使用使用英国夏令时的区域设置并创建应用日光保存规则的日期.这将是当时对本地用户的预期日期形式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读