📌  相关文章
📜  Java中的 ZonedDateTime parse() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:31:56.436000             🧑  作者: Mango

Java中的 ZonedDateTime.parse() 方法及示例

1. ZonedDateTime.parse() 方法简介

ZonedDateTime.parse() 方法是Java 8中的新特性,用于将字符串转换成ZonedDateTime类型的日期时间对象,该方法的语法如下:

public static ZonedDateTime parse(CharSequence text)

其中,text参数代表要转换的日期时间字符串,该字符串必须遵循ISO-8601标准,不然将会抛出DateTimeParseException异常。

ZonedDateTime.parse() 方法还支持另一个重载版本,它接受一个DateTimeFormatter格式化参数,该参数用于指定日期时间字符串的格式,语法如下:

public static ZonedDateTime parse(CharSequence text, DateTimeFormatter formatter)
2. ZonedDateTime.parse() 方法示例

下面是一个简单的示例,演示了如何使用ZonedDateTime.parse() 方法将一个符合ISO-8601标准的日期时间字符串转换成ZonedDateTime类型的对象:

import java.time.ZonedDateTime;

public class ZonedDateTimeParseDemo {
    public static void main(String[] args) {
        String strDateTime = "2021-03-18T09:30:00+08:00[Asia/Shanghai]";
        ZonedDateTime zonedDateTime = ZonedDateTime.parse(strDateTime);
        System.out.println(zonedDateTime);
    }
}

输出结果为:

2021-03-18T09:30+08:00[Asia/Shanghai]

在上面的示例中,我们定义了一个符合ISO-8601标准的日期时间字符串,然后调用ZonedDateTime.parse() 方法将字符串转换成ZonedDateTime对象,并将该对象输出到控制台。

下面是另一个示例,演示了如何使用DateTimeFormatter参数指定日期时间字符串的格式:

import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

public class ZonedDateTimeParseDemo {
    public static void main(String[] args) {
        String strDateTime = "2021-03-18 09:30:00";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        ZonedDateTime zonedDateTime = ZonedDateTime.parse(strDateTime, formatter);
        System.out.println(zonedDateTime);
    }
}

输出结果为:

2021-03-18T09:30Z

在上面的示例中,我们定义了一个日期时间字符串,然后定义了一个DateTimeFormatter对象,并指定其格式为yyyy-MM-dd HH:mm:ss,最后调用ZonedDateTime.parse() 方法将字符串转换成ZonedDateTime对象,并将该对象输出到控制台。

3. 总结

通过ZonedDateTime.parse() 方法,我们可以很方便地将符合ISO-8601标准的日期时间字符串转换成ZonedDateTime类型的日期时间对象,从而方便地进行日期时间的操作和计算。若要使用自定义的日期时间格式,可以通过传递DateTimeFormatter对象来进行格式化。