Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的UTC时间?_Java_Datetime_Utc_Datetime Conversion - Fatal编程技术网

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

如何在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,请从
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日期和时间API
java.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挂钟时间。我以为询问者在同一时间点,但他/她能更好地判断。