Java 8 – Jak převést ZonedDateTime do jiného stylu formátu?
V tomto článku se naučíme formátovat ZonedDateTime v jiném Styl formátu poskytuje Java 1.8 verze
1. Formát ZonedDateTime v jiném stylu formátu:
- FormatStyle class poskytuje 4 různé výčtové konstanty pro formátování ZonedDateTime , ty jsou
- FormatStyle.KRÁTCE
- FormatStyle.MEDIUM
- FormatStyle.DLOUHÉ
- FormatStyle.FULL
- Na ilustraci níže , používáme výše uvedené vestavěné formáty na formátování ZonedDateTime jak je uvedeno níže,
- DateTimeFormatter.ofLocalizedDateTime (FormatStyle.KRÁTCE );
- DateTimeFormatter.ofLocalizedDateTime (FormatStyle.MEDIUM );
- DateTimeFormatter.ofLocalizedDateTime (FormatStyle.LONG );
- DateTimeFormatter.ofLocalizedDateTime (FormatStyle.FULL );
- Poznámka: pro vytváření výše uvedených formátů potřebujeme DateTimeFormatter
2. Příklady ZonedDateTime v jiném stylu formátu :
2.1 ZonedDateTime to FormatStyle.SHORT formát:
- Tento styl formátu převede ZonedDateTime ve výchozím nastavení (yyyy-MM-dd THH:mm:ss.nnn +HH :mm [Region /Město ]) formátovat na (dd/MM/rr, hh:mm a ) formát ignorující sekundu & nanosekunda pole
FormatZonedDateTimeToShortStyle.java
package in.bench.resources.java8.zoneddatetime.examples; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.time.format.FormatStyle; public class FormatZonedDateTimeToShortStyle { public static void main(String[] args) { // 1. get Zoned Date/time ZonedDateTime zonedDateTime = ZonedDateTime.now(); System.out.println("Zoned Date/time is :- \n" + zonedDateTime); // 2. DateTimeFormatter DateTimeFormatter dateTimeFormatter = DateTimeFormatter .ofLocalizedDateTime(FormatStyle.SHORT); // 3. ZonedDateTime to FormatStyle.SHORT format in String-form String str = zonedDateTime.format(dateTimeFormatter); System.out.print("\nZonedDateTime to FormatStyle.SHORT format :- \n" + str); } }
Výstup:
Zoned Date/time is :- 2022-08-13T01:40:47.739222100+05:30[Asia/Calcutta] ZonedDateTime to FormatStyle.SHORT format :- 13/08/22, 1:40 am
2.2 ZonedDateTime na formát FormatStyle.MEDIUM:
- Tento styl formátu převede ZonedDateTime ve výchozím nastavení (yyyy-MM-dd THH:mm:ss.nnn +HH :mm [Region /Město ] ) formátovat na (dd-MMM-yyyy, hh:mm:ss a ) formát ignorující nanosekundu pole
FormatZonedDateTimeToMediumStyle.java
package in.bench.resources.java8.zoneddatetime.examples; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.time.format.FormatStyle; public class FormatZonedDateTimeToMediumStyle { public static void main(String[] args) { // 1. get Zoned Date/time ZonedDateTime zonedDateTime = ZonedDateTime.now(); System.out.println("Zoned Date/time is :- \n" + zonedDateTime); // 2. DateTimeFormatter DateTimeFormatter dateTimeFormatter = DateTimeFormatter .ofLocalizedDateTime(FormatStyle.MEDIUM); // 3. ZonedDateTime to FormatStyle.MEDIUM format in String-form String str = zonedDateTime.format(dateTimeFormatter); System.out.print("\nZonedDateTime to FormatStyle.MEDIUM format :- \n" + str); } }
Výstup:
Zoned Date/time is :- 2022-08-13T01:41:09.109723600+05:30[Asia/Calcutta] ZonedDateTime to FormatStyle.MEDIUM format :- 13-Aug-2022, 1:41:09 am
2.3 ZonedDateTime na formát FormatStyle.LONG :
- Tento styl formátu převede ZonedDateTime ve výchozím nastavení (yyyy-MM-dd THH:mm:ss.nnn +HH :mm [Region /Město ]) formátovat na (dd MMMM yyyy v hh:mm:ss a z ) formát ignorující nanosekundu pole
FormatZonedDateTimeToLongStyle.java
package in.bench.resources.java8.zoneddatetime.examples; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.time.format.FormatStyle; public class FormatZonedDateTimeToLongStyle { public static void main(String[] args) { // 1. get Zoned Date/time ZonedDateTime zonedDateTime = ZonedDateTime.now(); System.out.println("Zoned Date/time is :- \n" + zonedDateTime); // 2. DateTimeFormatter DateTimeFormatter dateTimeFormatter = DateTimeFormatter .ofLocalizedDateTime(FormatStyle.LONG); // 3. ZonedDateTime to FormatStyle.LONG format in String-form String str = zonedDateTime.format(dateTimeFormatter); System.out.print("\nZonedDateTime to FormatStyle.LONG format :- \n" + str); } }
Výstup:
Zoned Date/time is :- 2022-08-13T01:42:01.991101800+05:30[Asia/Calcutta] ZonedDateTime to FormatStyle.LONG format :- 13 August 2022 at 1:42:01 am IST
2.4 ZonedDateTime na formát FormatStyle.FULL :
- Tento styl formátu převede ZonedDateTime ve výchozím nastavení (yyyy-MM-dd THH:mm:ss.nnn +HH :mm [Region /Město ]) formátovat na (EEEE, dd MMMM, yyyy v hh:mm:ss a z ) formát ignorující nanosekundu pole
FormatZonedDateTimeToFullStyle.java
package in.bench.resources.java8.zoneddatetime.examples; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.time.format.FormatStyle; public class FormatZonedDateTimeToFullStyle { public static void main(String[] args) { // 1. get Zoned Date/time ZonedDateTime zonedDateTime = ZonedDateTime.now(); System.out.println("Zoned Date/time is :- \n" + zonedDateTime); // 2. DateTimeFormatter DateTimeFormatter dateTimeFormatter = DateTimeFormatter .ofLocalizedDateTime(FormatStyle.FULL); // 3. ZonedDateTime to FormatStyle.FULL format in String-form String str = zonedDateTime.format(dateTimeFormatter); System.out.print("\nZonedDateTime to FormatStyle.FULL format :- \n" + str); } }
Výstup:
Zoned Date/time is :- 2022-08-13T01:42:57.270655200+05:30[Asia/Calcutta] ZonedDateTime to FormatStyle.FULL format :- Saturday, 13 August, 2022 at 1:42:57 am India Standard Time