Στην Java, δεν υπάρχει μια ενσωματωμένη κλάση για τη διαχείριση ημερομηνιών. Για να διαχειριστούμε ημερομηνίες και ώρες, πρέπει να εισάγουμε το πακέτο java.time.
Το πακέτο java.time περιέχει πολλές κλάσεις για τη διαχείριση ημερομηνιών και ώρας, όπως οι κλάσεις LocalDate, LocalTime, LocalDateTime, ZonedDateTime, και άλλες. Αυτές οι κλάσεις παρέχουν μια πλούσια συλλογή από μεθόδους που επιτρέπουν την εργασία με ημερομηνίες και ώρες στην Java.
Για παράδειγμα, μπορούμε να χρησιμοποιήσουμε την κλάση LocalDate για να αναπαραστήσουμε μια ημερομηνία, την κλάση LocalTime για να αναπαραστήσουμε μια ώρα, και την κλάση LocalDateTime για να αναπαραστήσουμε μια συνδυασμένη ημερομηνία και ώρα. Αυτές οι κλάσεις παρέχουν μεθόδους για την εκτέλεση διαφόρων λειτουργιών, όπως προσθήκη και αφαίρεση ημερών, ώρων ή λεπτών, εύρεση της διάρκειας μεταξύ δύο ημερομηνιών, και πολλά άλλα.
Με τη χρήση του πακέτου java.time, έχουμε πρόσβαση σε ένα πλήρες σετ εργαλείων για τη διαχείριση ημερομηνιών και ώρας στην Java.
Παρακάτω παρατίθεται ένα παράδειγμα που δείχνει πώς μπορείτε να χρησιμοποιήσετε την κλάση LocalDate
για να δημιουργήσετε μια ημερομηνία και να εκτυπώσετε την τρέχουσα ημερομηνία:
import java.time.LocalDate; public class Main { public static void main(String[] args) { LocalDate date = LocalDate.now(); // Ανάκτηση της τρέχουσας ημερομηνίας System.out.println("Current date: " + date); // Εκτύπωση της τρέχουσας ημερομηνίας } }
Ο παραπάνω κώδικας πραγματοποιεί τις παρακάτω λειτουργίες:
- Εισάγει την κλάση
LocalDate
από την Java API (java.time.LocalDate
). - Δημιουργεί μια νέα μεταβλητή
date
τύπουLocalDate
και την αρχικοποιεί με την τρέχουσα ημερομηνία. - Χρησιμοποιεί τη μέθοδο
println()
της κλάσηςSystem.out
για να εμφανίσει στην οθόνη το μήνυμα “Current date: ” ακολουθούμενο από την τρέχουσα ημερομηνία που ανακτήθηκε.
Συνολικά, ο κώδικας εμφανίζει την τρέχουσα ημερομηνία στην οθόνη.
Το αποτέλεσμα στην οθόνη θα είναι κάτι παρόμοιο:
Current date: 2023-06-09
Η ακριβής ημερομηνία θα εξαρτηθεί από την τρέχουσα ημερομηνία του συστήματος όπου εκτελείται ο κώδικας.
Παρακάτω παρατίθενται οι βασικές κλάσεις που περιέχονται στο πακέτο java.time
και περιγράφονται σύντομα:
Κλάση | Περιγραφή |
---|---|
LocalDate | Αναπαριστά μια ημερομηνία (έτος, μήνας, ημέρα (yyyy-MM-dd)) |
LocalTime | Αναπαριστά μια ώρα (ώρα, λεπτό, δευτερόλεπτο και νανοδευτερόλεπτα (HH-mm-ss-ns)) |
LocalDateTime | Αναπαριστά ταυτόχρονα και μια ημερομηνία και μια ώρα (yyyy-MM-dd-HH-mm-ss-ns) |
ZonedDateTime | Αναπαριστά μια ημερομηνία και μια ώρα σε συγκεκριμένη ζώνη ώρας |
DateTimeFormatter | Χρησιμοποιείται για τη μορφοποίηση και ανάλυση αντικειμένων ημερομηνίας-ώρας |
Οι κλάσεις αυτές παρέχουν πλούσια συλλογή από μεθόδους για τη διαχείριση ημερομηνιών και ώρας στην Java.
Για να εμφανίσετε την τρέχουσα ημερομηνία στην Java μπορείτε να χρησιμοποιήσετε την κλάση LocalDate
από το πακέτο java.time
.
[adinserter block=”2″]
Στο παρακάτω παράδειγμα φαίνεται πώς μπορείτε να δημιουργήσετε ένα αντικείμενο LocalDate
και να εκτυπώσετε την τρέχουσα ημερομηνία:
import java.time.LocalDate; public class Main { public static void main(String[] args) { LocalDate currentDate = LocalDate.now(); // Αντικείμενο που αναπαριστά την τρέχουσα ημερομηνία System.out.println("Current Date: " + currentDate); // Εκτύπωση της τρέχουσας ημερομηνίας } }
Ο κώδικας προβάλλει την τρέχουσα ημερομηνία στο παράθυρο κονσόλας. Αρχικά, δημιουργείται ένα αντικείμενο της κλάσης LocalDate
με την βοήθεια της μεθόδου now()
που επιστρέφει την τρέχουσα ημερομηνία. Στη συνέχεια, η εντολή System.out.println("Current Date: " + currentDate);
εκτελεί την εκτύπωση του κειμένου “Current Date: ” ακολουθούμενο από την τρέχουσα ημερομηνία στην οθόνη. Έτσι, ο κώδικας εμφανίζει την τρέχουσα ημερομηνία στο παράθυρο κονσόλας.
Για να εμφανίσετε την τρέχουσα ώρα στην Java μπορείτε να χρησιμοποιήσετε την κλάση LocalTime
από το πακέτο java.time
.
Στο παρακάτω παράδειγμα φαίνεται πώς μπορείτε να δημιουργήσετε ένα αντικείμενο LocalTime
και να εκτυπώσετε την τρέχουσα ώρα:
import java.time.LocalTime; public class Main { public static void main(String[] args) { LocalTime currentTime = LocalTime.now(); // Ανάκτηση τρέχουσας τοπικής ώρας System.out.println("Current Time: " + currentTime); // Εκτύπωση τρέχουσας ώρας στην οθόνη } }
Ο παραπάνω κώδικας σε Java κάνει τα εξής:
- Εισάγει την κλάση
LocalTime
από το πακέτοjava.time
. Αυτή η κλάση παρέχει λειτουργίες για τη χειρισμό της τρέχουσας τοπικής ώρας. - Ορίζει την κλάση
Main
. - Στην μέθοδο
main
, δημιουργεί μια νέα μεταβλητήcurrentTime
τύπουLocalTime
και την αρχικοποιεί με την τρέχουσα τοπική ώρα. - Χρησιμοποιεί τη μέθοδο
System.out.println()
για να εκτυπώσει στην οθόνη ένα μήνυμα που περιλαμβάνει την τρέχουσα ώρα. Το μήνυμα είναι “Current Time: ” ακολουθούμενο από την τιμή της μεταβλητήςcurrentTime
.
Συνολικά, ο κώδικας εμφανίζει την τρέχουσα τοπική ώρα στην οθόνη του υπολογιστή.
Για να εμφανίσετε την τρέχουσα ημερομηνία και ώρα στην Java μπορείτε να χρησιμοποιήσετε την κλάση LocalDateTime
από το πακέτο java.time
.
Στο παρακάτω παράδειγμα φαίνεται πώς μπορείτε να δημιουργήσετε ένα αντικείμενο LocalDateTime
και να εκτυπώσετε την τρέχουσα ημερομηνία και ώρα:
import java.time.LocalDateTime; public class Main { public static void main(String[] args) { LocalDateTime currentDateTime = LocalDateTime.now(); // Καταγράφει την τρέχουσα ημερομηνία και ώρα System.out.println("Current Date and Time: " + currentDateTime); // Εκτυπώνει την τρέχουσα ημερομηνία και ώρα } }
Ο παραπάνω κώδικας στη Java κάνει τα εξής:
- Εισάγει την κλάση
LocalDateTime
από το πακέτοjava.time
, η οποία παρέχει λειτουργίες για τη χειρισμό της ημερομηνίας και της ώρας. - Ορίζει μια κλάση με όνομα
Main
. - Ορίζει μια μέθοδο με όνομα
main
, η οποία είναι η κύρια μέθοδος που εκτελείται κατά την εκτέλεση του προγράμματος. - Δημιουργεί μια μεταβλητή
currentDateTime
τύπουLocalDateTime
και την αρχικοποιεί με την τρέχουσα ημερομηνία και ώρα, χρησιμοποιώντας τη μέθοδοnow()
της κλάσηςLocalDateTime
. - Εκτυπώνει στην οθόνη τη φράση “Current Date and Time: ” ακολουθούμενη από την τιμή της μεταβλητής
currentDateTime
, χρησιμοποιώντας τη μέθοδοSystem.out.println()
.
Συνολικά, ο κώδικας εμφανίζει την τρέχουσα ημερομηνία και ώρα στην οθόνη.
[adinserter block=”3″]
Μπορείτε να χρησιμοποιήσετε την κλάση DateTimeFormatter
από το πακέτο java.time.format
για να μορφοποιήσετε ημερομηνίες και ώρες στην Java.
Στο παρακάτω παράδειγμα, θα χρησιμοποιήσουμε την κλάση DateTimeFormatter
για να μορφοποιήσουμε την τρέχουσα ημερομηνία και ώρα, αφαιρώντας το “T” και τα nanoseconds:
import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { LocalDateTime currentDateTime = LocalDateTime.now(); // Ανάκτηση της τρέχουσας ημερομηνίας και ώρας DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // Δημιουργία ενός φορμάτ για τη μορφοποίηση της ημερομηνίας και ώρας String formattedDateTime = currentDateTime.format(formatter); // Μορφοποίηση της τρέχουσας ημερομηνίας και ώρας χρησιμοποιώντας τον φορμάτ System.out.println("Formatted Date and Time: " + formattedDateTime); // Εκτύπωση της μορφοποιημένης ημερομηνίας και ώρας } }
Ο κώδικας παραπάνω εκτελεί τις παρακάτω ενέργειες:
- Δημιουργεί ένα αντικείμενο τύπου
LocalDateTime
με την τρέχουσα ημερομηνία και ώρα. - Δημιουργεί έναν
DateTimeFormatter
με το φορμάτ “yyyy-MM-dd HH:mm:ss” για τη μορφοποίηση της ημερομηνίας και ώρας. - Χρησιμοποιεί τον
DateTimeFormatter
για να μορφοποιήσει την τρέχουσα ημερομηνία και ώρα σύμφωνα με το καθορισμένο φορμάτ. - Αποθηκεύει τη μορφοποιημένη ημερομηνία και ώρα σε ένα
String
με τη βοήθεια της μεταβλητήςformattedDateTime
. - Εκτυπώνει το μορφοποιημένο αποτέλεσμα στην κονσόλα μαζί με το κείμενο “Formatted Date and Time: “.
Συνολικά, ο κώδικας εμφανίζει την τρέχουσα ημερομηνία και ώρα σε ένα συγκεκριμένο φορμάτ στην κονσόλα.
Η μέθοδος ofPattern()
της κλάσης DateTimeFormatter
δέχεται διάφορες τιμές για τη μορφοποίηση ημερομηνιών και ωρών στη Java.
Στον παρακάτω πίνακα παρουσιάζονται μερικά παραδείγματα διαφορετικών τιμών που μπορούν να χρησιμοποιηθούν στη μέθοδο ofPattern()
για να εμφανιστούν ημερομηνίες και ώρες σε διαφορετικά φορμάτ:
Τιμή | Παράδειγμα |
---|---|
yyyy-MM-dd | “1988-09-29” |
dd/MM/yyyy | “29/09/1988” |
dd-MMM-yyyy | “29-Sep-1988” |
E, MMM dd yyyy | “Thu, Sep 29 1988” |
Μπορείτε να χρησιμοποιήσετε αυτές τις τιμές για να ορίσετε το επιθυμητό φορμάτ κατά την κατασκευή ενός αντικειμένου DateTimeFormatter
.