Java >> Java tutoriál >  >> Java

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
    1. FormatStyle.KRÁTCE
    2. FormatStyle.MEDIUM
    3. FormatStyle.DLOUHÉ
    4. 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,
    1. DateTimeFormatter.ofLocalizedDateTime (FormatStyle.KRÁTCE );
    2. DateTimeFormatter.ofLocalizedDateTime (FormatStyle.MEDIUM );
    3. DateTimeFormatter.ofLocalizedDateTime (FormatStyle.LONG );
    4. 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í sekundunanosekunda 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


Java Tag