Java 编程中Calendar类使用踩坑记录

2020-10-19 0 By admin

在 Java 语言开发过程中时间类库中 Calendar 类库使用中踩坑记录。

一、时区设置相关

当使用 Calendar 类库获取当前时间时,如果当前运行环境配置配置好,其获取的时间很可能为GMT(格林尼治标准时间)。

GMT(Greenwich Mean Time)——格林尼治标准时间,格林尼治标准时间是19 世纪中叶大英帝国的基准时间,同时也是事实上的世界基准时间。

在更多地情况,我们应该是要获取北京时间的,所以使用 Calendar 应该怎么设置时区?

1.1、代码实现

TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();

1.2、错误的代码

Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT+8"));
Date date = cal.getTime();