Java时间:如何解释ISO_DATE_TIME格式的时间

时间:2019-04-02 08:10:40

标签: java java-time

我不太清楚此日期格式的含义:

  

2019-05-01T02:00:00 + 02:00 [欧洲/马德里]

使用ISO_DATE_TIME DateTimeFormatter格式化。

其背后的代码是:

public void meth(Date d) {
    LOG.info(date.toInstant()
        .atZone(ZoneId.systemDefault())
        .format(DateTimeFormatter.ISO_DATE_TIME)
    );
}

这是否意味着在马德里的时间是00:00:00或02:00:00?

我的意思是,马德里公民几点钟打钟?

2 个答案:

答案 0 :(得分:3)

马德里的时间是02:00:00。 +02:00是距UTC的偏移量,因此UTC时间为00:00:00。

答案 1 :(得分:1)

此常数引用的ISO标准是ISO 8601,在XML文档中也称为W3CDTF。后者在W3C中进行了描述,比ISO上的原始相关标准更易于理解,并且是免费的,而不是159 CHF ISO要求...

关于实际时间的问题:马德里的时间是02:00:00,时区信息使您可以对其他时区进行计算。这在电子邮件中也很常见,其中邮件的日期标题包含带有TZ-info的日期:

  

日期:2019年4月1日星期一12:30:36 +0100

,使您的邮件客户端可以将您的邮件日期显示为13:30:36(例如您居住的日期)在德国,可让您按日期正确分类邮件。

相关问题