date设置时区 java_如何设置java.util.Date的时区?
没有时区
正如其他正确答案所述,java.util.Date没有时区† 。 它代表UTC / GMT(没有时区偏移量)。 非常混乱,因为它的toString方法在生成String表示时应用JVM的默认时区。
避免juDate
由于这个和其他许多原因,你应该避免使用内置的java.util.Date&.Calendar&java.text.SimpleDateFormat。 他们是非常麻烦的。
而是使用Java 8捆绑的java.time包 。 这些新课程受JSR 310定义的Joda-Time的启发,并由ThreeTen-Extra项目扩展。 对于Java 6和7,请使用后端项目ThreeTen-Backport 。 对于Android,这个后端端口ThreeTenABP的改写 。 请参阅Oracle教程 。
java.time
java.time类可以用三种方式在时间线上表示一个片刻:
UTC( Instant )
用偏移量( OffsetDateTime与ZoneOffset )
随着时区( ZonedDateTime与ZoneId )
Instant
在java.time中 ,基本构建块是“ Instant ,即UTC中的时间线。 使用Instant对象的大部分业务逻辑。
Instant instant = Instant.now();
OffsetDateTime
应用UTC的偏移量来调整某些地点的挂钟时间 。
应用ZoneOffset获得OffsetDateTime 。
ZoneOffset zoneOffset = ZoneOffset.of( "-04:00" ); OffsetDateTime odt = O
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
