java中的UTC时间?
如何在Java中获得任何给定时间和日期以及相应时区的UTC值java中的UTC时间?,java,datetime,utc,datetime-conversion,Java,Datetime,Utc,Datetime Conversion,如何在Java中获得任何给定时间和日期以及相应时区的UTC值 例如,假设我当前的时区是亚洲/加尔各答,现在如何获取2018年7月21日凌晨1.00时的UTC值?,以获取当前UTC时间 Instant.now() // Current time in UTC. 用于获取任何所需时区中的当前时间 ZonedDateTime.now( ZoneId.systemDefault() ) // Current time in your ZoneId. 加尔各答示例: 要调整回UTC,请从Zo
例如,假设我当前的时区是
亚洲/加尔各答
,现在如何获取2018年7月21日凌晨1.00时的UTC值?,以获取当前UTC时间
Instant.now() // Current time in UTC.
用于获取任何所需时区中的当前时间
ZonedDateTime.now( ZoneId.systemDefault() ) // Current time in your ZoneId.
加尔各答示例:
要调整回UTC,请从ZonedDateTime
提取一个Instant
Instant instant = zoneDTKolkata.toInstant() ;
您可以从UTC调整到时区
ZonedDateTime zoneDTKolkata = instant.atZone( zoneKolkata ) ;
用于获取UTC的当前时间
Instant.now() // Current time in UTC.
用于获取任何所需时区中的当前时间
ZonedDateTime.now( ZoneId.systemDefault() ) // Current time in your ZoneId.
加尔各答示例:
要调整回UTC,请从ZonedDateTime
提取一个Instant
Instant instant = zoneDTKolkata.toInstant() ;
您可以从UTC调整到时区
ZonedDateTime zoneDTKolkata = instant.atZone( zoneKolkata ) ;
使用Java8时间API代替旧的API(即rajadilipkolli提出的Date&SimpleDataFormat解决方案)
使用Java8时间API代替旧的API(即rajadilipkolli提出的Date&SimpleDataFormat解决方案) 这张照片是: UTC值为:2018-07-20T19:30:00Z 我不确定您是否需要将您给出的确切字符串,
2018年7月21日凌晨1点
,解析为日期时间对象,但我已经演示了如何解析。挑战在于am
是小写的。为了指定不区分大小写的解析,我需要通过DateTimeFormatterBuilder
如您所见,代码转换为即时
,这是Java中表示时间点的现代方式Instant.toString
始终以UTC为单位打印时间。末尾的Z
表示UTC。如果您想要更明确地使用UTC的日期时间,可以使用
OffsetDateTime odt = LocalDateTime.parse(localDateTimeString, formatter)
.atZone(zone)
.toInstant()
.atOffset(ZoneOffset.UTC);
System.out.println("UTC value is: " + odt);
输出类似,只有OffsetDateTime
在秒数为0(零)时省略秒数:
UTC值为:2018-07-20T19:30Z
链接:解释如何使用现代java日期和时间APIjava.time
这张照片是:
UTC值为:2018-07-20T19:30:00Z
我不确定您是否需要将您给出的确切字符串,2018年7月21日凌晨1点
,解析为日期时间对象,但我已经演示了如何解析。挑战在于am
是小写的。为了指定不区分大小写的解析,我需要通过DateTimeFormatterBuilder
如您所见,代码转换为即时
,这是Java中表示时间点的现代方式Instant.toString
始终以UTC为单位打印时间。末尾的Z
表示UTC。如果您想要更明确地使用UTC的日期时间,可以使用
OffsetDateTime odt = LocalDateTime.parse(localDateTimeString, formatter)
.atZone(zone)
.toInstant()
.atOffset(ZoneOffset.UTC);
System.out.println("UTC value is: " + odt);
输出类似,只有OffsetDateTime
在秒数为0(零)时省略秒数:
UTC值为:2018-07-20T19:30Z
链接:解释如何使用现代java日期和时间API
java.time
。这不可能是一个不重复的…@lelloman。。我在看你想输入一个日期并指定你的时区,并且能够看到UTC时间对应点是什么?是的,我想输入@azroWelcome to Stack Overflow,你应该在询问之前进行搜索和研究。这样你也可能更快地找到一个好答案。这不可能是重复的…@lelloman确实。。我在看你想输入一个日期并指定你的时区,并且能够看到UTC时间对应点是什么?是的,我想输入@azroWelcome to Stack Overflow,你应该在询问之前进行搜索和研究。通过这种方式,您也可能更快地找到一个好答案。答案应包含对其包含的代码的解释。添加的解释:)答案应包含对其包含的代码的解释。添加的解释:)将以UTC为单位给出相同的挂钟时间。我以为询问者在同一时间点之后,但他/她能更好地分辨出来。这将给出相同的UTC挂钟时间。我以为询问者在同一时间点,但他/她能更好地判断。