Gunakan kelas ZonedDateTime dan kelas DateTimeFormatter baharu dalam Java 11 untuk mengendalikan zon masa dan isu pemformatan
Beberapa API tarikh dan masa baharu telah diperkenalkan dalam Java 11, termasuk kelas ZonedDateTime dan DateTimeFormatter, yang menyediakan kaedah yang lebih mudah untuk mengendalikan zon waktu dan isu pemformatan tarikh. Artikel ini menerangkan cara menggunakan kedua-dua kelas ini untuk menyelesaikan zon waktu dan isu pemformatan serta menyediakan beberapa kod sampel.
Mula-mula, mari kita lihat kelas ZonedDateTime. Ia adalah lanjutan daripada Instant dan LocalDateTime dan mewakili tarikh dan masa dengan maklumat zon waktu. Menggunakan kelas ZonedDateTime kita boleh menukar dan mengira antara zon waktu yang berbeza dengan mudah.
Berikut ialah contoh kod menggunakan kelas ZonedDateTime:
// 创建一个当前时间的ZonedDateTime对象 ZonedDateTime now = ZonedDateTime.now(); // 获得当前时间的时区信息 ZoneId zone = now.getZone(); System.out.println("当前时区:" + zone); // 转换为另一个时区 ZonedDateTime newYorkTime = now.withZoneSameInstant(ZoneId.of("America/New_York")); System.out.println("纽约时间:" + newYorkTime);
Kod di atas mula-mula mencipta objek ZonedDateTime masa semasa, kemudian memperoleh maklumat zon waktu masa semasa dengan memanggil getZone()</ kod> kaedah, dan mencetaknya keluar. Seterusnya, ia menggunakan kaedah <code>withZoneSameInstant()
untuk menukar masa semasa kepada waktu New York dan mencetaknya. getZone()
方法获得当前时间的时区信息,并打印出来。接着,它使用withZoneSameInstant()
方法将当前时间转换为纽约时间,并打印出来。
接下来,我们来看一下DateTimeFormatter类。它提供了格式化和解析日期时间的方法。DateTimeFormatter类使用模式字符串来定义日期时间的格式,我们可以自定义不同的格式,以满足我们的需求。
下面是一个使用DateTimeFormatter类的示例代码:
// 创建一个DateTimeFormatter对象 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 使用DateTimeFormatter对象将一个ZonedDateTime对象格式化为字符串 String formattedDateTime = now.format(formatter); System.out.println("格式化后的时间:" + formattedDateTime); // 使用DateTimeFormatter对象将字符串解析为一个ZonedDateTime对象 ZonedDateTime parsedDateTime = ZonedDateTime.parse(formattedDateTime, formatter); System.out.println("解析后的时间:" + parsedDateTime);
上述代码首先创建了一个DateTimeFormatter对象,并使用ofPattern()
方法传入一个模式字符串来定义日期时间的格式。然后,它使用DateTimeFormatter对象的format()
方法将一个ZonedDateTime对象格式化为字符串,并打印出来。接着,它使用DateTimeFormatter对象的parse()
rrreee
Kod di atas mula-mula mencipta objek DateTimeFormatter dan menggunakan kaedah ofPattern()
untuk menghantar rentetan corak untuk menentukan tarikh dan masa format. Kemudian, ia menggunakan kaedah format()
objek DateTimeFormatter untuk memformat objek ZonedDateTime ke dalam rentetan dan mencetaknya. Kemudian, ia menggunakan kaedah parse()
objek DateTimeFormatter untuk menghuraikan rentetan ke dalam objek ZonedDateTime dan mencetaknya.
Menggunakan kelas ZonedDateTime dan kelas DateTimeFormatter, kami boleh mengendalikan isu pemformatan tarikh dan zon waktu dengan mudah. Sama ada penukaran zon waktu atau pemformatan tarikh dan masa, kedua-dua kelas ini menyediakan kaedah ringkas dan berkuasa untuk memenuhi keperluan kita.
🎜Ringkasan: 🎜Kelas ZonedDateTime dan kelas DateTimeFormatter di Java 11 memberi kami cara baharu untuk menangani isu pemformatan zon waktu dan tarikh. Dengan menggunakan kelas ZonedDateTime, kami boleh menukar dan mengira antara zon waktu yang berbeza dengan mudah. Kelas DateTimeFormatter menyediakan kaedah untuk memformat dan menghuraikan tarikh dan masa Kita boleh menentukan format tarikh dan masa melalui rentetan corak tersuai. Menggunakan kedua-dua kelas ini, kami boleh mengendalikan isu pemformatan zon masa dan tarikh dengan lebih mudah. 🎜🎜Di atas adalah pengenalan untuk menggunakan kelas ZonedDateTime dan kelas DateTimeFormatter dalam Java 11 untuk menangani isu zon waktu dan pemformatan saya harap ia akan membantu anda. 🎜Atas ialah kandungan terperinci Mengendalikan zon waktu dan isu pemformatan menggunakan kelas ZonedDateTime baharu dan kelas DateTimeFormatter dalam Java 11. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!