Πώς να μετατρέψετε τη συμβολοσειρά σε ημερομηνία στην Java;



Αυτό το άρθρο θα σας παρουσιάσει τρόπους με τους οποίους μπορείτε να μετατρέψετε τη συμβολοσειρά σε ημερομηνία στην Java και επίσης να σας δώσει μια λεπτομερή πρακτική επίδειξη.

Αυτό το άρθρο θα σας παρουσιάσει τρόπους με τους οποίους μπορείτε να μετατρέψετε τη συμβολοσειρά σε ημερομηνία στο και επίσης να σας δώσει μια λεπτομερή πρακτική επίδειξη. Οι ακόλουθοι δείκτες θα καλυφθούν σε αυτό το άρθρο,

Ας ξεκινήσουμε λοιπόν,





Πώς να μετατρέψετε τη συμβολοσειρά σε ημερομηνία σε Java;

Θα μάθουμε εδώ «Πώς να μετατρέψετε αντικείμενα String σε αντικείμενα Date» χρησιμοποιώντας απλές αλλαγές κώδικα και τεχνικές. Ο καλύτερος τρόπος μετατροπής είναι
Συμβολοσειρά μέχρι σήμερα



SimpleDateFormat.parse (συμβολοσειρά)

Ημερομηνία έως συμβολοσειρά

SimpleDateFormat.format (Ημερομηνία)


Η ανάλυση λειτουργεί με διάφορους τρόπους:

Προχωρώντας με αυτό το άρθρο σχετικά με τη μετατροπή συμβολοσειράς σε ημερομηνία σε Java,



Λήψη της ημερομηνίας ως κειμένου

Εάν χρειάζεστε τον μήνα ως κείμενο με τρία γράμματα, πρέπει να ορίσουμε το 3 «M» που λαμβάνεται ως τιμή μήνα. Στη συνέχεια, η τιμή του μήνα ερμηνεύεται ως κείμενο όπως Οκτ, Δεκ, Ιουν κ.λπ.

Για να λάβετε το αποτέλεσμα: 12-Δεκ-1998

Εδώ είναι ο κωδικός για να εκφράσετε την τιμή συμβολοσειράς με τη μορφή ημερομηνίας.

Πακέτο com.test.test import java.text.ParseException import java.text.SimpleDateFormat import java.util.Date public class TestDateExample1 {public static void main (String [] argv) {SimpleDateFormat formatter = new SimpleDateFormat ('dd-MMM- yyyy ') String dateInString = '12 -Dec-1998' try {Date date = formatter.parse (dateInString) System.out.println (date) System.out.println (formatter.format (ημερομηνία))} catch (ParseException e ) {e.printStackTrace ()}}}

Παραγωγή:
Παρ 12 Δεκεμβρίου 00:00:00 MYT 1998
12-Δεκ-1998

Προχωρώντας με αυτό το άρθρο σχετικά με τη μετατροπή συμβολοσειράς σε ημερομηνία σε Java,

Για να λάβετε τη Ημερομηνία με τη μορφή '12/12/1988'

πακέτο com.test.date import java.text.ParseException import java.text.SimpleDateFormat import java.util.Date public class TestDateExample2 {public static void main (String [] argv) {SimpleDateFormat formatter = new SimpleDateFormat ('dd / MM / yyyy ') String dateInString = '12 / 12/1988' try {Date date = formatter.parse (dateInString) System.out.println (date) System.out.println (formatter.format (ημερομηνία))} catch (ParseException e ) {e.printStackTrace ()}}}

Το Java 8 χρησιμοποιεί API ημερομηνίας-ώρας που παρέχει μεθόδους ανάλυσης () για τη μετατροπή της τιμής συμβολοσειράς σε τιμή ημερομηνίας-ώρας. Για βασικούς κανόνες ανάλυσης, έχουν καθοριστεί πρότυπα που αντιπροσωπεύουν την τιμή συμβολοσειράς για την ημερομηνία και την ώρα και στις δύο ISO_LOCAL_TIME ή ISO_LOCAL_DATE μορφή. Βάζουμε τον κώδικα μορφοποιητή στο μπλοκ 'try' και 'catch' που ρίχνει μια εξαίρεση στο χρόνο εκτέλεσης κάθε φορά που δεν τηρείται ο καθορισμένος κανόνας.
Το απλό παράδειγμα ανάλυσης είναι:

LocalDateTime dateTime = LocalDateTime.parse ('2018-05-05T11: 50: 55')

Προχωρώντας με αυτό το άρθρο σχετικά με τη μετατροπή συμβολοσειράς σε ημερομηνία σε Java,

Για να αλλάξετε τη ζώνη ώρας

Για να γίνει αυτό, πρέπει να καθορίσουμε τις μεθόδους ανάλυσης ζώνης ώρας που είναι γνωστές ως 'ZonedDateTime' για να αλλάξουμε απευθείας την τιμή συμβολοσειράς σε μορφή ημερομηνίας-ώρας. Το μόνο που χρειάζεται να κάνετε είναι να ορίσετε τη ζώνη ώρας στην οποία θέλετε την ημερομηνία-ώρα σας. Για παράδειγμα, εδώ χρειαζόμαστε την ημερομηνία και την ώρα μας στην ευρωπαϊκή ζώνη. Έτσι, ορίζουμε το tiemzone ως Ευρώπη / Παρίσι χρησιμοποιώντας τη μέθοδο «ZonedDateTime» ::

ZonedDateTime zonedDateTime = ZonedDateTime.parse ('2015-05-05T10: 15: 30 + 01: 00 [Ευρώπη / Παρίσι]')

Τώρα, ας πάρουμε το απλό API ώρας ημερομηνίας που μετατρέπει την τιμή συμβολοσειράς σε τιμή ημερομηνίας χρησιμοποιώντας SimpleDateFormat:

  1. Η Java εισήγαγε ένα νέο Ημερομηνία ώρα Κλήση API με την έκδοσή του 8 για να αναπαριστά τις παραμέτρους ώρας ημερομηνίας γνωστές ως 'java.time'. Η παλιά κλήση σε όλες τις προηγούμενες εκδόσεις για την αναπαράσταση ήταν java.util.date.

Ας δούμε πώς να μετατρέψετε πραγματικά μια συμβολοσειρά σε έναν τοπικό τύπο δεδομένων ημερομηνίας και ώρας:

Αναλύστε την κλήση API:

Εάν η τιμή συμβολοσειράς που πρέπει να μετατρέψουμε στο Ημερομηνία ώρα ο τύπος είναι μορφής ISO-801, τότε μπορούμε απλά να καλέσουμε κλάσεις DateFormat και SimpleDateFormat χρησιμοποιώντας μεθόδους ανάλυσης ().

Ένα παράδειγμα για το ίδιο:

import java.text.SimpleDateFormat import java.util.Date δημόσια κλάση StringToDateExample1 {public static void main (String [] args) ρίχνει την εξαίρεση {String sDate1 = '31 / 12/1998 'Date date1 = new SimpleDateFormat (' dd / MM / yyyy '). parse (sDate1) System.out.println (sDate1 +' t '+ date1)}}

Παραγωγή:
12/31/1998 Πέμ 31 Δεκεμβρίου 00:00:00 IS 1998

import java.text.SimpleDateFormat import java.util.Date public class StringToDateExample2 {public static void main (String [] args) ρίχνει την εξαίρεση {String sDate1 = '12 / 10/1988 'String sDate2 = '12 -Oct-1988' String sDate3 = '12 10, 1988 'String sDate4 =' Wed, Oct 12 1988 'String sDate5 =' Wed, Oct 12 1988 23:37:50 'String sDate6 = '31 -Dec-1998 23:37:50' SimpleDateFormat formatter1 = new SimpleDateFormat ('dd / MM / yyyy') SimpleDateFormat formatter2 = new SimpleDateFormat ('dd-MMM-yyyy') SimpleDateFormat formatter3 = new SimpleDateFormat ('MM dd, yyyy') SimpleDateFormat formatter4 = νέα SimpleDateFormat = d SimpleDateFormat yyyy ') SimpleDateFormat formatter5 = new SimpleDateFormat (' E, MMM dd yyyy HH: mm: ss ') SimpleDateFormat formatter6 = new SimpleDateFormat (' dd-MMM-yyyy HH: mm: ss ') Ημερομηνία1 = formatter1.parse (sDate) Ημερομηνία date2 = formatter2.parse (sDate2) Date date3 = formatter3.parse (sDate3) Date date4 = formatter4.parse (sDate4) Date date5 = formatter5.parse (sDate5) Date date6 = formatter6.parse (sDate6) System.out.println (sDat e1 + 't' + date1) System.out.println (sDate2 + 't' + date2) System.out.println (sDate3 + 't' + date3) System.out.println (sDate4 + 't' + date4) System.out. println (sDate5 + 't' + date5) System.out.println (sDate6 + 't' + date6)}}

Χρησιμοποιώντας τον παραπάνω κώδικα, λαμβάνετε πραγματικά τα αποτελέσματα σε όλες τις αναφερόμενες μορφές. Έτσι, ορίσαμε τις διάφορες μορφές ημερομηνίας σε μια τιμή συμβολοσειράς και μετά τις αναλύσαμε καθορίζοντας την κλάση SimpleDateFormat. Μόλις ολοκληρωθεί, η έξοδος δημιουργεί σε όλες τις αναφερόμενες μορφές ώρας ημερομηνίας.

12/31/1998 Πέμ 31 Δεκεμβρίου 00:00:00 IS 1998

31-Δεκ-1998 Πέμ 31 Δεκεμβρίου 00:00:00 IS 1998

12 31, 1998 Πέμ 31 Δεκεμβρίου 00:00:00 IS 1998

Πέμ, 31 Δεκεμβρίου 1998 Πέμ 31 Δεκεμβρίου 00:00:00 IS 1998

Πέμ, 31 Δεκεμβρίου 1998 23:37:50 Πέμ 31 Δεκεμβρίου 23:37:50 ΕΙΝΑΙ 1998

31-Δεκ-1998 23:37:50 Πέμ 31 Δεκεμβρίου 23:37:50 ΕΙΝΑΙ 1998

Για να μάθετε περισσότερα σχετικά με τη μορφή ημερομηνίας, διαβάστε το έγγραφο το javadoc . Μερικές από τις έγκυρες μορφές συμβολοσειράς έως ημερομηνία αναφέρονται εδώ:
ε = έτος (εεεεεεε)

Μ = μήνας (ΜΜ)

d = ημέρα σε μήνα (dd)

h = ώρα (0-12) (hh)

πώς να εκτυπώσετε το αρχείο καταγραφής του git

H = ώρα (0-23) (HH)

m = λεπτό σε ώρα (mm)

s = δευτερόλεπτα (ss)

S = χιλιοστά του δευτερολέπτου (SSS)

z = κείμενο ζώνης ώρας (π.χ. Τυπική ώρα Ειρηνικού…)

Z = ζώνη ώρας, μετατόπιση ώρας (π.χ. -0800)

Σημείωση: Ο ορισμός του «Java.util.date» ως ημερομηνία ημερομηνίας = νέα ημερομηνία () έχει καταργηθεί. Χρησιμοποιήστε λοιπόν πάντα SimpleDateFormat με αντίστοιχη συμβολοσειρά εισόδου που πρέπει να μετατρέψετε.

Έτσι, έχουμε φτάσει στο τέλος αυτού του άρθρου σχετικά με το «Πώς να μετατρέψετε τη συμβολοσειρά σε ημερομηνία στην Java;». Αν θέλετε να μάθετε περισσότερα,δείτε το από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία μάθησης. Το μάθημα εκπαίδευσης και πιστοποίησης Java J2EE και SOA της Edureka έχει σχεδιαστεί για να σας εκπαιδεύσει τόσο για βασικές όσο και για προχωρημένες ιδέες Java μαζί με διάφορα πλαίσια Java όπως το Hibernate & Spring

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του άρθρου και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.