Τα αντικείμενα Date στη JavaScript επιτρέπουν την εργασία με ημερομηνίες και χρόνους στις εφαρμογές. Με τα αντικείμενα Date, μπορείτε να δημιουργείτε, να προβάλλετε και να διαχειρίζεστε ημερομηνίες και ώρες.
Για να δημιουργήσετε ένα νέο αντικείμενο Date, χρησιμοποιείτε την new Date()
και μπορείτε να παρέχετε παραμέτρους όπως την ημερομηνία και την ώρα.
Παραδείγματα:
const currentDate = new Date(); // Τρέχουσα ημερομηνία και ώρα console.log(currentDate); const specificDate = new Date('2023-07-07T12:00:00'); // Συγκεκριμένη ημερομηνία και ώρα console.log(specificDate); const specificTime = new Date(2023, 6, 7, 12, 0, 0); // Συγκεκριμένη ημερομηνία και ώρα με χρήση διαφορετικής σύνταξης console.log(specificTime);
Τα αντικείμενα Date παρέχουν πολλές μεθόδους για την εργασία με ημερομηνίες, όπως την προβολή της ημερομηνίας σε διάφορες μορφές, την προσθήκη και αφαίρεση ημερών, μηνών και ετών, καθώς και την ανάκτηση διάφορων μεγεθών της ημερομηνίας όπως η μέρα του μήνα, η μέρα της εβδομάδας και πολλά άλλα.
Αν δεν προσδιορίσετε άλλη μορφή εξόδου, το JavaScript θα χρησιμοποιήσει την προεπιλεγμένη ζώνη ώρας του προγράμματος περιήγησης (browser) και θα εμφανίσει την ημερομηνία σε μορφή πλήρους κειμένου (full text string) όπως έχετε παραθέσει:
Mon Jul 24 2023 12:44:39 GMT+0300 (Eastern European Summer Time)
Η μορφή πλήρους κειμένου περιλαμβάνει την ημέρα της εβδομάδας, τον μήνα, την ημερομηνία, την ώρα και τη ζώνη ώρας (GMT+0300) του προγράμματος περιήγησης, καθώς και την επονομαζόμενη ζώνη ώρας (Eastern European Summer Time).
Αν χρειάζεστε μια διαφορετική μορφή εξόδου, μπορείτε να χρησιμοποιήσετε μεθόδους των αντικειμένων Date για να προσαρμόσετε την εξαγόμενη ημερομηνία σύμφωνα με τις ανάγκες σας.
[adinserter block=”2″]
Υπάρχουν 9 διαφορετικοί τρόποι για να δημιουργήσετε ένα νέο αντικείμενο Date στη JavaScript:
- Χρησιμοποιώντας το
new Date()
, χωρίς παραμέτρους, θα δημιουργήσει ένα αντικείμενο Date που παριστάνει την τρέχουσα ημερομηνία και ώρα:
const currentDate = new Date();
- Παρέχοντας ένα string που αναπαριστά μια ημερομηνία, το οποίο θα ερμηνευτεί από τον κατασκευαστή Date:
const specificDate = new Date('2023-07-07T12:00:00');
- Παρέχοντας τις τιμές της ημερομηνίας και της ώρας ως παραμέτρους σε έναν κατασκευαστή Date:
const specificTime = new Date(2023, 6, 7, 12, 0, 0);
Οι ώρες και οι μήνες αριθμούνται από το 0, οπότε ο Ιανουάριος είναι ο μήνας 0 και ο Δεκέμβριος είναι ο μήνας 11.
- Χρησιμοποιώντας έναν χρόνο σε μορφή “timestamp”, ο οποίος αντιπροσωπεύει τον αριθμό των χιλιοδευτέρων που έχουν παρέλθει από την 1η Ιανουαρίου 1970, 00:00:00 UTC:
const timestamp = 1678309440000; // Παράδειγμα timestamp const fromTimestamp = new Date(timestamp);
- Παρέχοντας ένα αντικείμενο Date ως παράμετρο σε έναν άλλο κατασκευαστή Date, που θα δημιουργήσει ένα αντίγραφο της ημερομηνίας:
const originalDate = new Date('2023-07-07T12:00:00'); const copyDate = new Date(originalDate);
- Χρησιμοποιώντας τη μέθοδο
Date.UTC()
, που λαμβάνει ως παραμέτρους τον χρόνο, τον μήνα και τις υπόλοιπες τιμές για την ημερομηνία και την ώρα:
const dateUTC = new Date(Date.UTC(2023, 6, 7, 12, 0, 0));
- Χρησιμοποιώντας τη μέθοδο
Date.parse()
, που αναλύει ένα string που παριστάνει μια ημερομηνία και ώρα σε έναν χρόνο timestamp:
const timestampFromParse = Date.parse('2023-07-07T12:00:00'); const dateFromParse = new Date(timestampFromParse);
- Χρησιμοποιώντας την εναλλακτική μορφή της Date.parse(), με έναν κατασκευαστή Date που λαμβάνει ένα string ως παράμετρο:
const dateFromDateString = new Date('July 7, 2023 12:00:00');
- Χρησιμοποιώντας την εναλλακτική μορφή της Date.parse(), με έναν κατασκευαστή Date που λαμβάνει ένα string με μορφή RFC 2822 ή ISO 8601:
const dateFromRFC2822 = new Date('Mon, 24 Jul 2023 12:44:39 +0300'); const dateFromISO8601 = new Date('2023-07-24T12:44:39+03:00');
Με τη χρήση αυτών των διαφορετικών τρόπων μπορείτε να δημιουργήσετε νέα αντικείμενα Date σύμφωνα με τις ανάγκες σας.
[adinserter block=”3″]
Η χρήση του new Date()
χωρίς παραμέτρους δημιουργεί ένα αντικείμενο Date με την τρέχουσα ημερομηνία και ώρα, όπως έχει οριστεί από τον υπολογιστή ή τη συσκευή που εκτελεί τον κώδικα JavaScript.
Εδώ είναι ένα παράδειγμα:
const currentDate = new Date(); console.log(currentDate); // Προβάλλει την τρέχουσα ημερομηνία και ώρα
Το αντικείμενο currentDate
θα περιέχει την ημερομηνία και την ώρα της στιγμής που η γραμμή κώδικα εκτελέστηκε.
Αν θέλετε να δημιουργήσετε ένα αντικείμενο Date για μια συγκεκριμένη ημερομηνία και ώρα, μπορείτε να παρέχετε τις αντίστοιχες παραμέτρους στην new Date()
, όπως προηγουμένως έχουμε δείξει στα παραδείγματα.
Σωστό! Η χρήση της μεθόδου new Date(dateString)
δημιουργεί ένα αντικείμενο Date από μια ημερομηνία που δίνεται σαν string.
Το ημερομηνία string πρέπει να είναι σε μια από τις ακόλουθες μορφές:
- “YYYY-MM-DD” (π.χ. “2023-07-07”)
- “YYYY-MM-DDTHH:mm:ss” (π.χ. “2023-07-07T12:00:00”)
- “Month DD, YYYY HH:mm:ss” (π.χ. “July 7, 2023 12:00:00”)
- “Day Month DD, YYYY HH:mm:ss TZD” (π.χ. “Mon, 24 Jul 2023 12:44:39 +0300”)
- “YYYY-MM-DDTHH:mm:ss.sssZ” (π.χ. “2023-07-24T12:44:39+03:00”)
Παρακάτω είναι ένα παράδειγμα:
const dateString = "2023-07-07T12:00:00"; const specificDate = new Date(dateString); console.log(specificDate); // Προβάλλει την ημερομηνία και ώρα που αντιστοιχούν στο string
Το αντικείμενο specificDate
θα περιέχει την ημερομηνία και την ώρα που αντιστοιχούν στο συγκεκριμένο string που δόθηκε.
Η χρήση της μεθόδου new Date(year, month, ...)
δημιουργεί ένα αντικείμενο Date με μια συγκεκριμένη ημερομηνία και ώρα, που προσδιορίζονται από τις παραμέτρους που δίνονται.
Οι παράμετροι που μπορούν να δοθούν είναι 7 αριθμοί, οι οποίοι αναπαριστούν τα ακόλουθα:
year
: Το έτος (π.χ. 2023).month
: Ο μήνας (0 για Ιανουάριο, 1 για Φεβρουάριο, κ.ο.κ. μέχρι 11 για Δεκέμβριο).day
(προαιρετικό): Η ημέρα του μήνα (1 έως 31). Αν δεν δοθεί, η τιμή είναι 1.hour
(προαιρετικό): Η ώρα (0 έως 23). Αν δεν δοθεί, η τιμή είναι 0.minute
(προαιρετικό): Τα λεπτά (0 έως 59). Αν δεν δοθεί, η τιμή είναι 0.second
(προαιρετικό): Τα δευτερόλεπτα (0 έως 59). Αν δεν δοθεί, η τιμή είναι 0.millisecond
(προαιρετικό): Τα χιλιοστά του δευτερολέπτου (0 έως 999). Αν δεν δοθεί, η τιμή είναι 0.
Παρακάτω είναι ένα παράδειγμα:
const specificDate = new Date(2023, 6, 7, 12, 0, 0); console.log(specificDate); // Προβάλλει την ημερομηνία και ώρα που προσδιορίστηκαν από τις παραμέτρους
Το αντικείμενο specificDate
θα περιέχει την ημερομηνία και ώρα που προσδιορίστηκαν από τις παραμέτρους που δόθηκαν. Αν δεν παραμετροποιήσετε την ημερομηνία, η JavaScript θα τοποθετήσει την ώρα 00:00:00 για την ημερομηνία που έχετε καθορίσει.
Όταν καθορίζετε ένα μήνα μεγαλύτερο από το 11 (το μήνας που αντιστοιχεί στο Δεκέμβριο), τότε η JavaScript θα προσθέσει την υπερχείλιση στο επόμενο έτος.
Αυτό είναι πολύ βολικό, καθώς σας επιτρέπει να δημιουργείτε ημερομηνίες που βρίσκονται σε πολύ μεγάλες χρονικές περιόδους. Για παράδειγμα, αν καθορίσετε έναν μήνα με τιμή 13, αυτό θα μεταφέρει την ημερομηνία στον Ιανουάριο του επόμενου έτους. Αυτό μπορεί να είναι χρήσιμο για διάφορες εφαρμογές, όπως για παράδειγμα για τη δημιουργία ημερολογίων ή χρονολογικών περιοχών που καλύπτουν πολλά έτη.
Παρακάτω είναι ένα παράδειγμα που καθορίζει έναν μήνα με τιμή 15:
const specificDate = new Date(2023, 15, 7, 12, 0, 0); console.log(specificDate); // Προβάλλει την ημερομηνία και ώρα που προσδιορίστηκαν από τις παραμέτρους
Αυτό θα μετατρέψει την ημερομηνία στον Απρίλιο του έτους 2024, προσθέτοντας την υπερχείλιση στον μήνα που αντιστοιχεί στον Απρίλιο (το μήνας 3).
Όταν καθορίζετε μια ημέρα μεγαλύτερη από το μέγιστο επιτρεπόμενο για τον συγκεκριμένο μήνα, η JavaScript θα προσθέσει την υπερχείλιση στον επόμενο μήνα.
Αυτό είναι πολύ βολικό, καθώς σας επιτρέπει να δημιουργείτε ημερομηνίες που βρίσκονται εκτός των ημερών που έχει ο συγκεκριμένος μήνας. Για παράδειγμα, αν καθορίσετε μια ημέρα με τιμή 32 για τον Φεβρουάριο, ο Φεβρουάριος έχει μόνο 28 ή 29 ημέρες (ανάλογα με το αν είναι δίσεκτος ο χρόνος), τότε η JavaScript θα μετατρέψει την ημερομηνία στις 4 Μαρτίου, προσθέτοντας την υπερχείλιση στην επόμενη ημέρα του επόμενου μήνα.
Παρακάτω είναι ένα παράδειγμα που καθορίζει μια ημέρα με τιμή 32 για τον Φεβρουάριο:
const specificDate = new Date(2023, 1, 32, 12, 0, 0); console.log(specificDate); // Προβάλλει την ημερομηνία και ώρα που προσδιορίστηκαν από τις παραμέτρους
Αυτό θα μετατρέψει την ημερομηνία στις 4 Μαρτίου, προσθέτοντας την υπερχείλιση στην επόμενη ημέρα του επόμενου μήνα (τον Μάρτιο).
Μπορείτε να δημιουργήσετε ένα αντικείμενο Date χρησιμοποιώντας 6 αριθμούς που καθορίζουν το έτος, τον μήνα, την ημέρα, την ώρα, τα λεπτά και τα δευτερόλεπτα (σε αυτή τη σειρά). Όταν παρέχετε μόνο 6 αριθμούς, το μήνας αρχίζει από τον Ιανουάριο (με τιμή 0) και όχι από τον Φεβρουάριο (με τιμή 1), και η ημέρα αρχίζει από την πρώτη ημέρα του μήνα (με τιμή 1) και όχι από τη δεύτερη ημέρα (με τιμή 2).
Παρακάτω είναι ένα παράδειγμα που καθορίζει τις 6 τιμές για τον Μάιο 1, 2023, στις 12:00:00:
const specificDate = new Date(2023, 4, 1, 12, 0, 0); console.log(specificDate); // Προβάλλει την ημερομηνία και ώρα που προσδιορίστηκαν από τις παραμέτρους
Το αντικείμενο specificDate
θα περιέχει την ημερομηνία και ώρα που καθορίστηκαν από τις 6 παραμέτρους που δόθηκαν. Στο συγκεκριμένο παράδειγμα, η ημερομηνία θα είναι της 1ης Μαΐου, 2023 στις 12:00:00.
Μπορείτε να δημιουργήσετε ένα αντικείμενο Date χρησιμοποιώντας 5 αριθμούς που καθορίζουν το έτος, τον μήνα, την ημέρα, την ώρα και τα λεπτά (σε αυτή τη σειρά). Όταν παρέχετε μόνο 5 αριθμούς, το μήνας αρχίζει από τον Ιανουάριο (με τιμή 0) και όχι από τον Φεβρουάριο (με τιμή 1), και η ημέρα αρχίζει από την πρώτη ημέρα του μήνα (με τιμή 1) και όχι από τη δεύτερη ημέρα (με τιμή 2).
Παρακάτω είναι ένα παράδειγμα που καθορίζει τις 5 τιμές για τον Μάιο 1, 2023, στις 12:00:
const specificDate = new Date(2023, 4, 1, 12, 0); console.log(specificDate); // Προβάλλει την ημερομηνία και ώρα που προσδιορίστηκαν από τις παραμέτρους
Το αντικείμενο specificDate
θα περιέχει την ημερομηνία και ώρα που καθορίστηκαν από τις 5 παραμέτρους που δόθηκαν. Στο συγκεκριμένο παράδειγμα, η ημερομηνία θα είναι της 1ης Μαΐου, 2023 στις 12:00.
Μπορείτε να δημιουργήσετε ένα αντικείμενο Date χρησιμοποιώντας 4 αριθμούς που καθορίζουν το έτος, τον μήνα, την ημέρα και την ώρα (σε αυτή τη σειρά). Όταν παρέχετε μόνο 4 αριθμούς, το μήνας αρχίζει από τον Ιανουάριο (με τιμή 0) και όχι από τον Φεβρουάριο (με τιμή 1), και η ημέρα αρχίζει από την πρώτη ημέρα του μήνα (με τιμή 1) και όχι από τη δεύτερη ημέρα (με τιμή 2).
[adinserter block=”4″]
Παρακάτω είναι ένα παράδειγμα που καθορίζει τις 4 τιμές για τον Μάιο 1, 2023, στη 1 το μεσημέρι:
const specificDate = new Date(2023, 4, 1, 13); console.log(specificDate); // Προβάλλει την ημερομηνία και ώρα που προσδιορίστηκαν από τις παραμέτρους
Το αντικείμενο specificDate
θα περιέχει την ημερομηνία και ώρα που καθορίστηκαν από τις 4 παραμέτρους που δόθηκαν. Στο συγκεκριμένο παράδειγμα, η ημερομηνία θα είναι της 1ης Μαΐου, 2023 στις 13:00 (1 το μεσημέρι).
Μπορείτε να δημιουργήσετε ένα αντικείμενο Date χρησιμοποιώντας 3 αριθμούς που καθορίζουν το έτος, τον μήνα και την ημέρα (σε αυτή τη σειρά). Όταν παρέχετε μόνο 3 αριθμούς, το μήνας αρχίζει από τον Ιανουάριο (με τιμή 0) και όχι από τον Φεβρουάριο (με τιμή 1), και η ημέρα αρχίζει από την πρώτη ημέρα του μήνα (με τιμή 1) και όχι από τη δεύτερη ημέρα (με τιμή 2).
Παρακάτω είναι ένα παράδειγμα που καθορίζει τις 3 τιμές για τον Μάιο 1, 2023:
const specificDate = new Date(2023, 4, 1); console.log(specificDate); // Προβάλλει την ημερομηνία που προσδιορίστηκε από τις 3 παραμέτρους
Το αντικείμενο specificDate
θα περιέχει την ημερομηνία που καθορίστηκε από τις 3 παραμέτρους που δόθηκαν. Στο συγκεκριμένο παράδειγμα, η ημερομηνία θα είναι της 1ης Μαΐου, 2023.
Μπορείτε να δημιουργήσετε ένα αντικείμενο Date χρησιμοποιώντας 2 αριθμούς που καθορίζουν το έτος και τον μήνα (σε αυτή τη σειρά). Όταν παρέχετε μόνο 2 αριθμούς, το μήνας αρχίζει από τον Ιανουάριο (με τιμή 0) και όχι από τον Φεβρουάριο (με τιμή 1).
Παρακάτω είναι ένα παράδειγμα που καθορίζει τις 2 τιμές για τον Μάιο του 2023:
const specificDate = new Date(2023, 4); console.log(specificDate); // Προβάλλει την ημερομηνία που προσδιορίστηκε από τις 2 παραμέτρους
Το αντικείμενο specificDate
θα περιέχει την ημερομηνία που καθορίστηκε από τις 2 παραμέτρους που δόθηκαν. Στο συγκεκριμένο παράδειγμα, η ημερομηνία θα είναι του Μαΐου του 2023.
Όταν δημιουργείτε ένα αντικείμενο Date και καθορίζετε το έτος με έναν ή δύο αριθμούς, η JavaScript θα το ερμηνεύσει ως έτος του 19ου αιώνα (19xx). Αυτό σημαίνει ότι:
- Ένας αριθμός έτους από 00 έως 99 θα ερμηνευτεί ως έτος του 1900 (π.χ. 99 -> 1999, 85 -> 1985, 04 -> 2004).
- Δύο αριθμοί έτους από 00 έως 49 θα ερμηνευτούν ως έτος του 2000 (π.χ. 00 -> 2000, 10 -> 2010, 42 -> 2042).
- Δύο αριθμοί έτους από 50 έως 99 θα ερμηνευτούν ως έτος του 1900 (π.χ. 50 -> 1950, 85 -> 1985, 99 -> 1999).
Παρακάτω είναι ένα παράδειγμα που καθορίζει το έτος ως 99, και η JavaScript θα το ερμηνεύσει ως έτος 1999:
const specificDate = new Date(99, 4, 1); console.log(specificDate); // Προβάλλει την ημερομηνία που προσδιορίστηκε με το έτος 1999
Το αντικείμενο specificDate
θα περιέχει την ημερομηνία που καθορίστηκε με το έτος 1999, παρά το γεγονός ότι χρησιμοποιήθηκε ένας δύοψήφιος αριθμός.
Όταν χρησιμοποιείτε τον κατασκευαστή new Date(milliseconds)
, δημιουργείτε ένα νέο αντικείμενο Date με βάση τον αριθμό των milliseconds που προσδιορίζετε, προσθέτοντας την μηδενική ώρα. Ο αριθμός των milliseconds αναφέρεται στον αριθμό των milliseconds που έχουν παρέλθει από την 1η Ιανουαρίου 1970, 00:00:00 UTC (γνωστή και ως “Ημερομηνία Unix” ή “Unix Timestamp”).
Παρακάτω είναι ένα παράδειγμα που δημιουργεί ένα νέο αντικείμενο Date με βάση τον αριθμό των milliseconds που προσδιορίζονται:
const specificDate = new Date(1672345600000); // 1672345600000 milliseconds αντιστοιχούν στην 1η Μαΐου 2023, 00:00:00 UTC console.log(specificDate); // Προβάλλει την ημερομηνία που προσδιορίστηκε
Στο παράδειγμα αυτό, το αντικείμενο specificDate
θα περιέχει την ημερομηνία που αντιστοιχεί στις 1η Μαΐου 2023, 00:00:00 UTC, καθώς τον αριθμό των milliseconds που δόθηκε (1672345600000) αντιστοιχεί σε αυτήν την ημερομηνία και ώρα.
Εδώ είναι μερικά ακόμα παραδείγματα για τον κατασκευαστή new Date(milliseconds)
:
const date1 = new Date(0); // Ημερομηνία Unix: 1η Ιανουαρίου 1970, 00:00:00 UTC console.log(date1); // Προβάλλει: Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time) const date2 = new Date(1000); // Ημερομηνία Unix: 1η Ιανουαρίου 1970, 00:00:01 UTC console.log(date2); // Προβάλλει: Thu Jan 01 1970 02:00:01 GMT+0200 (Eastern European Standard Time) const date3 = new Date(1672345600000); // Ημερομηνία Unix: 1η Μαΐου 2023, 00:00:00 UTC console.log(date3); // Προβάλλει: Mon May 01 2023 03:00:00 GMT+0300 (Eastern European Summer Time) const date4 = new Date(86400000); // Ημερομηνία Unix: 2η Ιανουαρίου 1970, 00:00:00 UTC console.log(date4); // Προβάλλει: Fri Jan 02 1970 02:00:00 GMT+0200 (Eastern European Standard Time)
Σε κάθε παράδειγμα, δημιουργείται ένα νέο αντικείμενο Date με βάση τον αριθμό των milliseconds που προσδιορίζεται και εμφανίζεται στην κονσόλα η αντίστοιχη ημερομηνία και ώρα.
Τα αντικείμενα Date παρέχουν μια σειρά από μεθόδους που επιτρέπουν να λειτουργείτε πάνω σε αυτά. Με αυτές τις μεθόδους μπορείτε να ανακτήσετε και να ορίσετε το έτος, τον μήνα, την ημέρα, την ώρα, το λεπτό, το δευτερόλεπτο και τον χιλιοστό του δευτερολέπτου των αντικειμένων Date, χρησιμοποιώντας είτε την τοπική ώρα είτε την ώρα UTC (παγκόσμια ή GMT).
[adinserter block=”5″]
Εδώ είναι μερικές από τις πιο συνηθισμένες μεθόδους Date:
getDate()
: Επιστρέφει την ημερομηνία (1-31) μιας συγκεκριμένης ημερομηνίας.getMonth()
: Επιστρέφει το μήνα (0-11) μιας συγκεκριμένης ημερομηνίας. (Σημείωση: Οι μήνες είναι zero-based, άρα τον Ιανουάριο τον αναπαριστά το 0, τον Φεβρουάριο το 1 και ούτω καθεξής).getFullYear()
: Επιστρέφει το έτος (4 ψηφία) μιας συγκεκριμένης ημερομηνίας.getHours()
: Επιστρέφει τις ώρες (0-23) μιας συγκεκριμένης ημερομηνίας.getMinutes()
: Επιστρέφει τα λεπτά (0-59) μιας συγκεκριμένης ημερομηνίας.getSeconds()
: Επιστρέφει τα δευτερόλεπτα (0-59) μιας συγκεκριμένης ημερομηνίας.getMilliseconds()
: Επιστρέφει τα χιλιοστά του δευτερολέπτου (0-999) μιας συγκεκριμένης ημερομηνίας.
Για να χρησιμοποιήσετε αυτές τις μεθόδους, καλείτε το αντικείμενο Date και μετά το όνομα της μεθόδου με παρένθεση. Για παράδειγμα:
const currentDate = new Date(); const day = currentDate.getDate(); const month = currentDate.getMonth(); const year = currentDate.getFullYear(); const hours = currentDate.getHours(); const minutes = currentDate.getMinutes(); const seconds = currentDate.getSeconds(); const milliseconds = currentDate.getMilliseconds(); console.log(day); // Εμφανίζει την ημερομηνία του μήνα console.log(month); // Εμφανίζει τον μήνα console.log(year); // Εμφανίζει το έτος console.log(hours); // Εμφανίζει τις ώρες console.log(minutes); // Εμφανίζει τα λεπτά console.log(seconds); // Εμφανίζει τα δευτερόλεπτα console.log(milliseconds); // Εμφανίζει τα χιλιοστά του δευτερολέπτου
Αυτά είναι μερικά παραδείγματα που χρησιμοποιούν τις μεθόδους Date για να ανακτήσουν διάφορα στοιχεία από ένα αντικείμενο Date. Μπορείτε επίσης να χρησιμοποιήσετε τις αντίστοιχες μεθόδους set
για να ορίσετε τιμές στα στοιχεία της ημερομηνίας.
Η JavaScript (κατά προεπιλογή) θα προβάλλει ημερομηνίες χρησιμοποιώντας τη μέθοδο toString()
. Αυτό αναπαριστά μια συμβολοσειρά της ημερομηνίας, συμπεριλαμβανομένης της ζώνης ώρας. Η μορφή της συμβολοσειράς ορίζεται στην προδιαγραφή ECMAScript και μπορεί να ποικίλει ανάλογα με την υλοποίηση JavaScript που χρησιμοποιείτε.
Εάν θέλετε να ελέγξετε πώς η ημερομηνία προβάλλεται με την μέθοδο toString()
, μπορείτε να το κάνετε ως εξής:
const currentDate = new Date(); console.log(currentDate.toString()); // Προβάλλει μια συμβολοσειρά της ημερομηνίας και της ώρας
Εναλλακτικά, αν θέλετε να προβάλλετε την ημερομηνία με κάποια συγκεκριμένη μορφή, μπορείτε να χρησιμοποιήσετε τις μεθόδους που παρέχει το αντικείμενο Date, όπως getDate()
, getMonth()
, getFullYear()
, getHours()
, getMinutes()
, getSeconds()
και getMilliseconds()
που προανέφερα. Έτσι μπορείτε να συνδυάσετε τα διάφορα στοιχεία της ημερομηνίας για να δημιουργήσετε την δική σας προσαρμοσμένη μορφή.
Παρακάτω είναι ένα παράδειγμα που προβάλλει μια ημερομηνία με προσαρμοσμένη μορφή:
const currentDate = new Date(); const year = currentDate.getFullYear(); const month = currentDate.getMonth() + 1; const day = currentDate.getDate(); const formattedDate = `${day}/${month}/${year}`; console.log(formattedDate); // Προβάλλει την ημερομηνία σε μορφή ημέρας/μήνας/έτους
Στο παράδειγμα αυτό, η μεταβλητή formattedDate
θα περιέχει την ημερομηνία στην μορφή “ημέρα/μήνας/έτους”, για παράδειγμα “7/2/2023”.
Όταν εμφανίζετε ένα αντικείμενο Date σε ένα στοιχείο HTML, όπως μια ετικέτα <div>
ή μια ετικέτα <p>
, το αντικείμενο Date μετατρέπεται αυτόματα σε συμβολοσειρά χρησιμοποιώντας τη μέθοδο toString()
. Αυτό γίνεται αυτόματα από τον φυλλομετρητή, ώστε να μπορείτε να εμφανίζετε τις ημερομηνίες σας στην HTML σελίδα σας χωρίς να χρειάζεται να καλέσετε εσείς οι ίδιοι την toString()
μέθοδο.
Για παράδειγμα, αν έχετε το παρακάτω στοιχείο HTML:
<p id="demo"></p>
Και το παρακάτω κομμάτι κώδικα JavaScript:
const currentDate = new Date(); document.getElementById("demo").innerText = currentDate;
Τότε η τρέχουσα ημερομηνία και ώρα θα εμφανιστεί αυτόματα στο στοιχείο με id “demo” σε μορφή συμβολοσειράς χρησιμοποιώντας την toString()
μέθοδο. Παράδειγμα εξόδου:
Tue Jul 25 2023 14:29:02 GMT+0300 (Eastern European Summer Time)
Αυτό συμβαίνει διότι ο φυλλομετρητής αυτόματα καλεί τη μέθοδο toString()
κατά την εκχώρηση του αντικειμένου Date στην εσωτερικήHTML περιεχομένου του στοιχείου.
Εάν θέλετε να ελέγξετε την εμφανιζόμενη μορφή της ημερομηνίας, μπορείτε να χρησιμοποιήσετε τις μεθόδους που παρέχει το αντικείμενο Date, όπως αναφέρθηκαν παραπάνω, για να διαμορφώσετε την εμφανιζόμενη συμβολοσειρά όπως επιθυμείτε.
Η μέθοδος toDateString()
μετατρέπει μια ημερομηνία σε μια πιο ευανάγνωστη μορφή, χωρίς να περιλαμβάνει την ώρα και τη ζώνη ώρας. Η επιστρεφόμενη συμβολοσειρά είναι σε μορφή που μπορεί να είναι πιο κατανοητή για τον ανθρώπινο χρήστη.
Εδώ είναι ένα παράδειγμα:
const currentDate = new Date(); const readableDate = currentDate.toDateString(); console.log(readableDate); // Εμφανίζει την ημερομηνία σε μορφή πιο κατανοητή για τον χρήστη
Το παραπάνω κομμάτι κώδικα θα εμφανίσει κάτι παρόμοιο με:
Tue Jul 25 2023
Παρατηρήστε ότι η ώρα και η ζώνη ώρας δεν περιλαμβάνονται στην επιστρεφόμενη συμβολοσειρά. Αυτό καθιστά την toDateString()
χρήσιμη όταν θέλετε να εμφανίσετε μια ημερομηνία χωρίς τα υπόλοιπα στοιχεία της ώρας και της ζώνης ώρας που περιέχονται στο αντικείμενο Date.
Η μέθοδος toUTCString()
μετατρέπει μια ημερομηνία σε μια συμβολοσειρά χρησιμοποιώντας το πρότυπο UTC (Coordinated Universal Time). Η επιστρεφόμενη συμβολοσειρά αναπαριστά την ημερομηνία και την ώρα στο παγκόσμιο πρότυπο ώρας UTC, χωρίς να λαμβάνει υπόψη την τοπική ζώνη ώρας.
Εδώ είναι ένα παράδειγμα:
const currentDate = new Date(); const utcString = currentDate.toUTCString(); console.log(utcString); // Εμφανίζει την ημερομηνία και την ώρα σε μορφή UTC
Το παραπάνω κομμάτι κώδικα θα εμφανίσει κάτι παρόμοιο με:
Tue, 25 Jul 2023 11:41:23 GMT
Η επιστρεφόμενη συμβολοσειρά περιέχει την ημερομηνία, την ώρα και την GMT (Greenwich Mean Time) και αναπαριστά την ημερομηνία σε παγκόσμια συντονισμένη ώρα (UTC). Η μορφή της συμβολοσειράς είναι σύμφωνη με το πρότυπο RFC 1123 που περιγράφει τη μορφή των ημερομηνιών και των χρόνων στο διαδίκτυο.
Η μέθοδος toISOString()
μετατρέπει μια ημερομηνία σε μια συμβολοσειρά χρησιμοποιώντας το πρότυπο ISO 8601. Η επιστρεφόμενη συμβολοσειρά παρουσιάζει την ημερομηνία και την ώρα σε μορφή ISO 8601, που είναι μια διεθνής προτυποποιημένη μορφή για αναπαράσταση ημερομηνιών και χρόνων.
Εδώ είναι ένα παράδειγμα:
const currentDate = new Date(); const isoString = currentDate.toISOString(); console.log(isoString); // Εμφανίζει την ημερομηνία και την ώρα σε μορφή ISO 8601
Το παραπάνω κομμάτι κώδικα θα εμφανίσει κάτι παρόμοιο με:
2023-07-25T11:58:29.205Z
Η συμβολοσειρά περιλαμβάνει την ημερομηνία, την ώρα και την ζώνη ώρας UTC (που συμβολίζεται με το “Z” στο τέλος), και αναπαριστά την ημερομηνία σύμφωνα με το πρότυπο ISO 8601. Η μορφή της συμβολοσειράς περιλαμβάνει επίσης το δευτερόλεπτο και τα χιλιοστά του δευτερολέπτου της ώρας.
Η μέθοδος toISOString()
είναι χρήσιμη όταν θέλετε να ανταλλάξετε ημερομηνίες με άλλες εφαρμογές ή υπηρεσίες που χρησιμοποιούν το πρότυπο ISO 8601 για την αναπαράσταση ημερομηνιών.