DateTimeFormatter:
Det introduceras i Java 8 för att formatera datumvärde. Den används för att formatera ZoneDateTime, LocalDateTime, LocalDate, och Lokal tid. DateTimeFormatter-objektet kan skapas med hjälp av ett inbyggt mönster, anpassat mönster och lokaliserad stil. Vissa användningar av denna klass visas i denna handledning med flera exempel.
SimpleDateFormat:
Den används för att formatera och analysera datumvärden med lokalt stöd. Datum till sträng och sträng till datum konvertering kan göras enkelt med den här klassen. Det skapas genom att utvidga Datumformat klass. Vissa användningar av denna klass visas i denna handledning med flera exempel.
Exempel 1: Formatera datum med DateTimeFormatter och inbyggt mönster
Datum- och tidsformatet för DateTimeFormatter är fast för den inbyggda mönster. Datumet och tidsvärdet kommer att skrivas ut baserat på inbyggd mönster som används i koden. ISO_DATE mönster används i följande kod som skriver ut datumet i formatet, åååå-mm-dd. Det aktuella datumet läsas här genom att använda metoden nu() av LocalDate klass som returnerar det formaterade datumvärdet i strängen.
importera java.tid.formatera.DateTimeFormatter;importera java.tid.LocalDate;
public class date2
public static void main (String [] args)
// Skapa DateTimeFormatter-objekt
DateTimeFormatter format_object = DateTimeFormatter.ISO_DATE;
// Skapa strängobjekt för att läsa det lokala datumet
String DateObject = format_object.format (LocalDate.nu());
// Skriv ut aktuellt datum
Systemet.ut.println ("Idag är" + DateObject);
Produktion:
Följande bild visar utdata från ovanstående kod. Utgången beror på det aktuella systemdatumet.
Exempel 2: Formatera datum med DateTimeFormatter och anpassat mönster
Du kan skriva ut datumvärdet i ett mer läsbart format med hjälp av det anpassade mönstret för DateTimeFormatter. Mönstret som används i följande exempel skriver ut den aktuella veckodagen med datumvärdet. ofPattern () Metoden används här för att ställa in mönstret för datumvärdet. I mönstret, 'EEEE ' används för att skriva ut veckodagen i fullformat, 'dd ' används för att skriva ut dagen, 'MMMM'används för att skriva ut månadens namn i full form och "åååå" används för att skriva ut de fyra siffrorna år. De nu() metod av LocalDateTime används här för att läsa aktuellt systemdatum och -tid. De formatera() metoden används för att returnera det formaterade datumvärdet i sträng baserat på mönstret.
importera java.tid.formatera.DateTimeFormatter;importera java.tid.LocalDateTime;
public class date1
public static void main (String [] args)
// Skapa formateringsobjekt med ofPattern ()
DateTimeFormatter format_object = DateTimeFormatter.ofPattern ("EEEE, dd MMMM åååå.");
// Skapa ett lokalt objekt för datum-tid
LocalDateTime dateTimeObj = LocalDateTime.nu();
// Få formaterad sträng
String stringDate = format_object.format (dateTimeObj);
// Skriv ut det formaterade datumet
Systemet.ut.println ("Idag är" + stringDate);
Produktion:
Följande bild visar utdata från ovanstående kod. Utgången beror på det aktuella systemdatumet.
Exempel 3: Formatera datum med SimpleTimeFormat och format () -metoden
Följande exempel visar användningen av SimpleTimeFormat för att skriva ut det formaterade datum- och tidsvärdet baserat på det använda mönstret. Här används “dd MMMM åååå, EEEE, hh: mm a” som ett mönster i koden. Betydelsen av varje del av mönstret utan 'hh' och 'mm' förklaras i föregående exempel. ''hh ' används här för att skriva ut det aktuella timvärdet, och 'mm'används för att skriva ut det aktuella minutvärdet. Datum klass används i koden för att läsa aktuellt systemdatum och -tid. De formatera() metoden används för att returnera de formaterade datum- och tidsvärdena i sträng baserat på det använda mönstret.
importera java.text.SimpleDateFormat;importera java.util.Datum;
public class date3
public static void main (String [] args)
// Ställ in mönstret
Strängmönster = "dd MMMM åååå, EEEE, hh: mm a";
// Skapa SimpleDateFormat-objekt
SimpleDateFormat simpleDateFormat = ny SimpleDateFormat (mönster);
// Konvertera datum till strängvärdet
String dateVal = simpleDateFormat.format (nytt datum ());
// Dela datumvärdet baserat på komma (,)
Sträng [] today_arr = dateVal.dela(",");
// Skriv ut den formaterade utgången
Systemet.ut.println ("Datum -" + idag_arr [0] + "\ nDag -" + idag_arr [1] +
"\ nTid -" + idag_arr [2]);
Produktion:
Följande bild visar utdata från ovanstående kod. Utdata beror på aktuellt systemdatum och tid.
Exempel 4: Formatera datum med SimpleTimeFormat och metoden parse ()
Följande exempel visar användningen av analysen () metod för att läsa det aktuella datumet eller ett visst datum som konverterar det formaterade strängvärdet till ett datumvärde. Här, den “Dd / MM / åååå” mönster används för att ställa in det specifika datumet för analysera () metod. Det aktuella datumvärdet läses av Datum klass och returnerade värdet som en sträng. Detta värde omvandlas igen till datumvärde med hjälp av analysera () metod. Därefter ställs ett visst datumvärde in som en sträng i metoden parse () enligt mönstret. Värdet omvandlas till ett datum som tidigare.
importera java.text.SimpleDateFormat;importera java.util.Datum;
public class date4
public static void main (String [] args)
// Ställ in mönstret
Strängmönster = "dd / MM / åååå";
Prova
// Skapa SimpleDateFormat-objekt
SimpleDateFormat format_object = nytt SimpleDateFormat (mönster);
// Konvertera det aktuella datumet till strängvärdet
String dateVal = format_object.format (nytt datum ());
// Konvertera strängen till datumvärde
Datum datum1 = format_object.parse (dateVal);
// Skriv ut datumvärdet
Systemet.ut.println ("Det aktuella datumet är" + datum1);
// Konvertera den definierade datumsträngen till datumvärdet
Datum datum2 = format_object.analysera ("16/12/2020");
// Skriv ut datumvärdet
Systemet.ut.println ("Det definierade datumet är" + datum2);
fånga (java.text.ParseException e)
// Skriv ut felmeddelande
Systemet.fela.println (e.getMessage ());
Produktion:
Följande utdata visas efter att manuset har körts, och den första utdata beror på den aktuella systemtiden.
Slutsats:
Olika sätt att formatera datumvärde visas i denna handledning med hjälp av olika Java-klasser. Självstudien fokuserar främst på formateringen av datumvärdena. Du kan också formatera tidsvärdet efter de klasser som används här. Jag hoppas att datumformateringsuppgiften i Java blir enklare efter att ha läst denna handledning.