Clasa java.text.SimpleDateFormat oferă metode pentru a formata și a analiza data și ora în java. SimpleDateFormat este o clasă concretă pentru formatarea și analizarea datei care moștenește clasa java.text.DateFormat.
Observa asta formatarea înseamnă convertirea datei în șir și parsarea înseamnă convertirea șirului de caractere în dată .
Constructorii clasei SimpleDateFormat
SimpleDateFormat(String pattern_args): Instanțiază clasa SimpleDateFormat folosind modelul furnizat - pattern_args, simboluri de format de dată implicite pentru localitatea FORMAT implicită.
SimpleDateFormat(String pattern_args, Locale locale_args): Instanțiază clasa SimpleDateFormat folosind modelul furnizat - pattern_args. Pentru localitatea FORMAT furnizată, simbolurile implicite de format de dată sunt - locale_args.
SimpleDateFormat(String pattern_args, DateFormatSymbols formatSymbols): Instanțiază clasa SimpleDateFormat și utilizează modelul furnizat - pattern_args și data formatSymbols.
Exemplu Java SimpleDateFormat: Data la șir
Să vedem exemplul simplu pentru format data in java folosind clasa java.text.SimpleDateFormat.
Nume de fișier: SimpleDateFormatExample.java
sistem de fișiere linux
import java.text.SimpleDateFormat; import java.util.Date; public class SimpleDateFormatExample { public static void main(String[] args) { Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat('dd/MM/yyyy'); String strDate= formatter.format(date); System.out.println(strDate); } }Testează-l acum
Ieșire:
13/04/2015
Notă: M (M majusculă) reprezintă luna și m (m mic) reprezintă minutul în java.
Să vedem exemplul complet formatați data și ora în java folosind clasa java.text.SimpleDateFormat.
Nume de fișier: SimpleDateFormatExample2.java
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class SimpleDateFormatExample2 { public static void main(String[] args) { Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat('MM/dd/yyyy'); String strDate = formatter.format(date); System.out.println('Date Format with MM/dd/yyyy : '+strDate); formatter = new SimpleDateFormat('dd-M-yyyy hh:mm:ss'); strDate = formatter.format(date); System.out.println('Date Format with dd-M-yyyy hh:mm:ss : '+strDate); formatter = new SimpleDateFormat('dd MMMM yyyy'); strDate = formatter.format(date); System.out.println('Date Format with dd MMMM yyyy : '+strDate); formatter = new SimpleDateFormat('dd MMMM yyyy zzzz'); strDate = formatter.format(date); System.out.println('Date Format with dd MMMM yyyy zzzz : '+strDate); formatter = new SimpleDateFormat('E, dd MMM yyyy HH:mm:ss z'); strDate = formatter.format(date); System.out.println('Date Format with E, dd MMM yyyy HH:mm:ss z : '+strDate); } }Testează-l acum
Ieșire:
Date Format with MM/dd/yyyy : 04/13/2015 Date Format with dd-M-yyyy hh:mm:ss : 13-4-2015 10:59:26 Date Format with dd MMMM yyyy : 13 April 2015 Date Format with dd MMMM yyyy zzzz : 13 April 2015 India Standard Time Date Format with E, dd MMM yyyy HH:mm:ss z : Mon, 13 Apr 2015 22:59:26 IST
Exemplu Java SimpleDateFormat: String to Date
Să vedem exemplul simplu pentru converti șirul în dată folosind clasa java.text.SimpleDateFormat.
Nume de fișier: SimpleDateFormatExample3.java
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class SimpleDateFormatExample3 { public static void main(String[] args) { SimpleDateFormat formatter = new SimpleDateFormat('dd/MM/yyyy'); try { Date date = formatter.parse('31/03/2015'); System.out.println('Date is: '+date); } catch (ParseException e) {e.printStackTrace();} } }Testează-l acum
Ieșire:
Date is: Tue Mar 31 00:00:00 IST 2015
Metode
set2DigitYearStart()
Sintaxă:
public void set2DigitYearStart(Date startDate)
Parametri:
startDate: data a fost setată în intervalul - startDate la startDate + 100 de ani
Tip returnare:
Tipul de returnare al metodei este nul
Implementare:
Să vedem cum se poate implementa metoda în cod.
Nume de fișier: Set2DigitYearStart.java
// important import statements import java.util.Calendar; import java.text.*; public class Set2DigitYearStart { // main method public static void main(String argvs[]) throws InterruptedException { // creating an object of the class SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat('MM / dd / yy' ); try { // getting the instance of the class Calendar Calendar clndr = Calendar.getInstance(); clndr.setTime(sdf.parse('11 / 12 / 21')); System.out.println('Initial Timing is : ' + clndr.getTime()); // Setting 2020 // Using the set2DigitYearStart() method sdf.set2DigitYearStart(sdf.parse('02 / 02 / 2000')); clndr.setTime(sdf.parse('02 / 02 / 15')); System.out.println('The New Timing is : ' + clndr.getTime()); } catch (ParseException exp) { exp.printStackTrace(); } } }
Ieșire:
Initial Timing is : Fri Nov 12 00:00:00 GMT 2021 The New Timing is : Mon Feb 02 00:00:00 GMT 2015
get2DigitYearStart()
Sintaxă:
public Date get2DigitYearStart()
Parametri:
Nu este necesar niciun parametru pentru această metodă
Tip returnare:
Tipul de returnare al metodei este Date și returnează începutul perioadei de 100 de ani care a fost setat în timpul parsării.
Implementare:
Să vedem cum se poate implementa metoda în cod.
Nume de fișier: Get2DigitYearStart.java
// important import statements import java.util.Calendar; import java.text.*; public class Get2DigitYearStart { // main method public static void main(String argvs[]) throws InterruptedException { // creating an object of the class SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat('MM / dd / yy' ); try { // getting the instance of the class Calendar Calendar clndr = Calendar.getInstance(); clndr.setTime(sdf.parse('11 / 12 / 21')); System.out.println('Initial Timing is : ' + clndr.getTime()); // Setting 2020 // Using the set2DigitYearStart() method sdf.set2DigitYearStart(sdf.parse('02 / 02 / 2000')); System.out.println('The New Timing is : ' + clndr.getTime()); // Using the method get2DigitYearStart() for checking the start year clndr.setTime(sdf.get2DigitYearStart()); System.out.println('The start year is: ' + clndr.get(Calendar.YEAR)); } catch (ParseException exp) { exp.printStackTrace(); } } }
Ieșire:
Initial Timing is : Fri Nov 12 00:00:00 GMT 2021 The New Timing is : Mon Feb 02 00:00:00 GMT 2015 The start year is: 2000
toPattern()
Sintaxă:
public String toPattern()
Parametri:
Nu este necesar niciun parametru pentru această metodă
Tip returnare:
Tipul de returnare al metodei este String și returnează modelul de format de dată.
Implementare:
avantajele si dezavantajele tehnologiei
Să vedem cum se poate implementa metoda în cod.
sql selectează mai multe tabele
Nume de fișier: ToPattern.java
// important import statements import java.util.Calendar; import java.text.*; public class ToPattern { // main method public static void main(String argvs[]) throws InterruptedException { // creating an object of the class SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat(); // Initializing the Calendar object Calendar clndr = Calendar.getInstance(); // getting the Current Date String currDate = sdf.format(clndr.getTime()); System.out.println('Current Date : ' + currDate); // Using the toPattern() method // Displaying the Date Pattern System.out.println('The Date Pattern is: ' + sdf.toPattern()); } }
Ieșire:
Current Date : 12/11/21, 7:24 AM The Date Pattern is: M/d/yy, h:mm a
analiza()
Sintaxă:
public Date parse()
Parametri:
Nu este necesar niciun parametru pentru această metodă
Tip returnare:
Tipul de returnare al metodei este Date și returnează data analizată.
Implementare:
Să vedem cum se poate implementa metoda în cod.
Nume de fișier: Parse.java
// important import statements import java.util.Calendar; import java.text.*; public class Parse { // main method public static void main(String argvs[]) throws InterruptedException { // creating an object of the class SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat('MM / dd / yy' ); try { // getting the instance of the class Calendar Calendar clndr = Calendar.getInstance(); clndr.setTime(sdf.parse('11 / 12 / 21')); System.out.println('Initial Timing is : ' + clndr.getTime()); } catch (ParseException exp) { exp.printStackTrace(); } } }
Ieșire:
Initial Timing is : Fri Nov 12 00:00:00 GMT 2021
applyPattern()
Sintaxă:
public void applyPattern()
Parametri:
Nu este necesar niciun parametru pentru această metodă
Tip returnare:
Tipul de returnare al metodei este nul. Prin urmare, metoda nu returnează nimic.
Implementare:
Să vedem cum se poate implementa metoda în cod.
Nume de fișier: ApplyPattern.java
// important import statements import java.util.Calendar; import java.text.*; public class ApplyPattern { // main method public static void main(String argvs[]) throws InterruptedException { // creating an object of the class SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat(); // Initializing calendar Object Calendar clndr = Calendar.getInstance(); // Using the arg pattern String ar = 'dd / MM / yyyy HH:mm Z'; // Using the method applyPattern() to set the date to arg format sdf.applyPattern(ar); // for the current time and date String currDate = sdf.format(clndr.getTime()); System.out.println('The current date is: ' + currDate); // Printing the pattern used System.out.println('The Pattern applied is: ' + sdf.toPattern()); } }
Ieșire:
The current date is: 11 / 12 / 2021 07:41 +0000 The Pattern applied is: dd / MM / yyyy HH:mm Z
format()
Sintaxă:
10 dintr-un 100
public final String format(Date args)
Parametri:
Metoda ia Date ca argument
Tip returnare:
Tipul de returnare al metodei este String, iar metoda returnează șirul formatat al datei.
Implementare:
Să vedem cum se poate implementa metoda în cod.
Nume de fișier: Format.java
// important import statements import java.util.Calendar; import java.text.*; public class Format { // main method public static void main(String argvs[]) throws InterruptedException { // creating an object of the class SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat(); // Initializing calendar Object Calendar clndr = Calendar.getInstance(); System.out.println('The actual date is: ' + clndr.getTime()); // use theh format() method for the current time and date String currDate = sdf.format(clndr.getTime()); System.out.println('The formatted date is: ' + currDate); } }
Ieșire:
The actual date is: Sat Dec 11 13:48:36 GMT 2021 The formatted date is: 12/11/21, 1:48 PM
toLocalizedPattern()
Sintaxă:
public String toLocalizedPattern()
Parametri:
Metoda nu acceptă niciun argument
Tip returnare:
Tipul de returnare al metodei este String, iar metoda returnează șirul de model Date al formatatorului de dată.
Implementare:
Să vedem cum se poate implementa metoda în cod.
Nume de fișier: ToLocalizedPattern.java
// important import statements import java.util.Calendar; import java.text.*; public class ToLocalizedPattern { // main method public static void main(String argvs[]) throws InterruptedException { // creating an object of the class SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat(); // Initializing calendar Object Calendar clndr = Calendar.getInstance(); System.out.println('The Date is: ' + sdf.format(clndr.getTime())); // Using the format() method for formatting the Date to String System.out.println('The pattern in the DateFormater is : ' + sdf.toLocalizedPattern()); } }
Ieșire:
The Date is: 12/11/21, 3:01 PM The pattern in the DateFormater is : M/d/yy, h:mm a