Περισσότερα
Μετατροπή συμβολοσειράς Java σε ημερομηνία
Ποιος είναι ο καλύτερος τρόπος για να μετατρέψετε μια String
με τη μορφή '2 Ιανουαρίου 2010' σε μια Date
στη Java;
Τελικά, θέλω να διαχωρίσω τον μήνα, την ημέρα και το έτος ως ακέραιους αριθμούς ώστε να μπορώ να χρησιμοποιήσω
Date date = new Date();
date.setMonth()..
date.setYear()..
date.setDay()..
date.setlong currentTime = date.getTime();
για να μετατρέψω την ημερομηνία σε ώρα.
844
3
Αυτός είναι ο δύσκολος τρόπος, και αυτές οι μέθοδοι ορισμού
java.util.Date
έχουν καταργηθεί από τη Java 1.1 (1997). [Απλά μορφοποιήστε την ημερομηνία χρησιμοποιώντας τοSimpleDateFormat
χρησιμοποιώντας ένα πρότυπο μορφοποίησης που ταιριάζει με το αλφαριθμητικό εισόδου][1].Στη δική σας περίπτωση της "2 Ιανουαρίου 2010" ως συμβολοσειρά εισόδου:
MMMM
για αυτόν.d
για αυτό.yyyy
για αυτό.Α, ναι, η συζήτηση για την ημερομηνία Java, ξανά. Για την επεξεργασία ημερομηνιών χρησιμοποιούμε τις Date, Calendar, GregorianCalendar και SimpleDateFormat. Για παράδειγμα, χρησιμοποιώντας την ημερομηνία Ιανουαρίου ως είσοδο:
Στη συνέχεια, μπορείτε να το χειριστείτε με κάτι τέτοιο:
Ενώ ασχολείστε με την κλάση SimpleDateFormat, είναι σημαντικό να θυμάστε ότι η Date δεν είναι ασφαλής για νήματα και δεν μπορείτε να μοιραστείτε ένα αντικείμενο Date με πολλαπλά νήματα.
Επίσης, υπάρχει μεγάλη διαφορά μεταξύ του "m" και του "M" όπου η μικρή πεζότητα χρησιμοποιείται για τα λεπτά και η κεφαλαία για τον μήνα. Το ίδιο συμβαίνει και με τα "d" και "D". Αυτό μπορεί να προκαλέσει ανεπαίσθητα σφάλματα τα οποία συχνά παραβλέπονται. Ανατρέξτε στο Javadoc ή στον Οδηγός για τη μετατροπή συμβολοσειράς σε ημερομηνία στη Java για περισσότερες λεπτομέρειες.