Στη γλώσσα προγραμματισμού JavaScript, μπορούμε να ρυθμίσουμε την ημερομηνία μέσω μεθόδων που ονομάζονται “set date methods”. Αυτές οι μέθοδοι επιτρέπουν να ορίσουμε διαφορετικά τμήματα της ημερομηνίας, όπως το έτος, ο μήνας, η ημέρα, οι ώρες, τα λεπτά, τα δευτερόλεπτα και τα χιλιοστόλεπτα.
Ορισμένες από αυτές τις μέθοδους είναι οι εξής:
setFullYear(year[, month, day])
: Ορίζει το έτος μιας ημερομηνίας. Μπορεί επίσης να ορίσει και τον μήνα και την ημέρα.setMonth(month[, day])
: Ορίζει τον μήνα μιας ημερομηνίας. Μπορεί επίσης να ορίσει και την ημέρα.setDate(day)
: Ορίζει την ημέρα μιας ημερομηνίας.setHours(hours[, minutes, seconds, milliseconds])
: Ορίζει τις ώρες μιας ημερομηνίας. Μπορεί επίσης να ορίσει τα λεπτά, τα δευτερόλεπτα και τα χιλιοστόλεπτα.setMinutes(minutes[, seconds, milliseconds])
: Ορίζει τα λεπτά μιας ημερομηνίας. Μπορεί επίσης να ορίσει τα δευτερόλεπτα και τα χιλιοστόλεπτα.setSeconds(seconds[, milliseconds])
: Ορίζει τα δευτερόλεπτα μιας ημερομηνίας. Μπορεί επίσης να ορίσει τα χιλιοστόλεπτα.setMilliseconds(milliseconds)
: Ορίζει τα χιλιοστόλεπτα μιας ημερομηνίας.
Για παράδειγμα, για να αλλάξουμε το έτος μιας ημερομηνίας:
const now = new Date(); now.setFullYear(2024); console.log(now); // Εμφανίζει την ημερομηνία του 2024
Κάθε μέθοδος αντιστοιχεί σε ένα τμήμα της ημερομηνίας και μπορεί να χρησιμοποιηθεί για να αλλάξει την τιμή του.
Η μέθοδος setFullYear()
χρησιμοποιείται για να ορίσει το έτος μιας ημερομηνίας.
Σύνταξη:
date.setFullYear(year [, month [, day]])
Παράμετροι:
year
: Το έτος που θέλουμε να ορίσουμε. Πρέπει να είναι ένας ακέραιος αριθμός.month
(προαιρετικό): Ο μήνας που θέλουμε να ορίσουμε. Οι μήνες αριθμούνται από το 0 (Ιανουάριος) έως το 11 (Δεκέμβριος). Αν δεν προσδιορίσουμε αυτήν την παράμετρο, το μήνας δεν θα αλλάξει.day
(προαιρετικό): Η ημέρα που θέλουμε να ορίσουμε. Αν δεν προσδιορίσουμε αυτήν την παράμετρο, η ημέρα δεν θα αλλάξει.
Παράδειγμα:
const date = new Date(); console.log(date); // Παράδειγμα αποτυπώνει την τρέχουσα ημερομηνία date.setFullYear(2025); console.log(date); // Αλλαγμένη ημερομηνία με το έτος 2025 date.setFullYear(2026, 5, 15); console.log(date); // Αλλαγμένη ημερομηνία με το έτος 2026, τον 6ο μήνα (Ιούνιο) και την 15η ημέρα
Η μέθοδος setFullYear()
τροποποιεί το έτος της ημερομηνίας και επιστρέφει τον αριθμό των milliseconds από την 1η Ιανουαρίου 1970 00:00:00 UTC μέχρι την τροποποιημένη ημερομηνία.
[adinserter block=”2″]
Η μέθοδος setMonth()
χρησιμοποιείται για να ορίσει τον μήνα μιας ημερομηνίας.
Σύνταξη:
date.setMonth(month [, day])
Παράμετροι:
month
: Ο μήνας που θέλουμε να ορίσουμε. Οι μήνες αριθμούνται από το 0 (Ιανουάριος) έως το 11 (Δεκέμβριος).day
(προαιρετικό): Η ημέρα που θέλουμε να ορίσουμε. Αν δεν προσδιορίσουμε αυτήν την παράμετρο, η ημέρα δεν θα αλλάξει.
Παράδειγμα:
const date = new Date(); console.log(date); // Παράδειγμα αποτυπώνει την τρέχουσα ημερομηνία date.setMonth(11); console.log(date); // Αλλαγμένη ημερομηνία με τον 11ο μήνα (Δεκέμβριο) date.setMonth(2, 15); console.log(date); // Αλλαγμένη ημερομηνία με τον 2ο μήνα (Μάρτιο) και την 15η ημέρα
Σημείωση: Αν η νέα ημερομηνία που ορίζουμε έχει μεγαλύτερο αριθμό ημέρας από τον αριθμό ημερών που έχει ο τρέχων μήνας, η ημέρα θα υπολογιστεί με βάση τον επόμενο μήνα (π.χ. η ημέρα 15 Μαρτίου με την εντολή setMonth(2, 15)
θα γίνει 15 Απριλίου).
Η μέθοδος setDate()
χρησιμοποιείται για να ορίσει την ημέρα του μήνα μιας ημερομηνίας.
Σύνταξη:
date.setDate(day)
Παράμετροι:
day
: Η ημέρα που θέλουμε να ορίσουμε. Πρέπει να είναι ένας ακέραιος αριθμός.
Παράδειγμα:
const date = new Date(); console.log(date); // Παράδειγμα αποτυπώνει την τρέχουσα ημερομηνία date.setDate(15); console.log(date); // Αλλαγμένη ημερομηνία με την 15η ημέρα του μήνα
Σημείωση: Αν η νέα ημέρα που ορίζουμε είναι μεγαλύτερη από τον αριθμό ημερών που έχει ο τρέχων μήνας, η ημέρα θα υπολογιστεί με βάση τον επόμενο μήνα (π.χ. η 31η Μαρτίου με την εντολή setDate(31)
θα γίνει 1η Απριλίου).
Η μέθοδος setDate()
μπορεί να χρησιμοποιηθεί για να προσθέσει ημέρες σε μια ημερομηνία. Μπορείτε να κάνετε αυτό προσθέτοντας έναν αριθμό ημερών στην τρέχουσα ημερομηνία.
Για παράδειγμα, αν έχουμε την τρέχουσα ημερομηνία date
και θέλουμε να προσθέσουμε 5 ημέρες, μπορούμε να κάνουμε κάτι τέτοιο:
const date = new Date(); // Παίρνουμε την τρέχουσα ημερομηνία console.log(date); // Παράδειγμα αποτυπώνει την τρέχουσα ημερομηνία date.setDate(date.getDate() + 5); // Προσθέτουμε 5 ημέρες στην τρέχουσα ημερομηνία console.log(date); // Αλλαγμένη ημερομηνία μετά την προσθήκη των ημερών
Με αυτόν τον τρόπο, μπορούμε να προσθέσουμε οποιονδήποτε αριθμό ημερών θέλουμε στην τρέχουσα ημερομηνία.
Η μέθοδος setHours()
χρησιμοποιείται για να ορίσει τις ώρες μιας ημερομηνίας.
Σύνταξη:
date.setHours(hours[, minutes[, seconds[, milliseconds]]])
Παράμετροι:
hours
: Οι ώρες που θέλουμε να ορίσουμε. Πρέπει να είναι ένας ακέραιος αριθμός από 0 έως 23.minutes
: (Προαιρετικό) Τα λεπτά που θέλουμε να ορίσουμε. Πρέπει να είναι ένας ακέραιος αριθμός από 0 έως 59.seconds
: (Προαιρετικό) Τα δευτερόλεπτα που θέλουμε να ορίσουμε. Πρέπει να είναι ένας ακέραιος αριθμός από 0 έως 59.milliseconds
: (Προαιρετικό) Τα χιλιοστά του δευτερολέπτου που θέλουμε να ορίσουμε. Πρέπει να είναι ένας ακέραιος αριθμός από 0 έως 999.
Παράδειγμα:
const date = new Date(); console.log(date); // Παράδειγμα αποτυπώνει την τρέχουσα ημερομηνία date.setHours(10); // Ορίζουμε τις ώρες σε 10 console.log(date); // Αλλαγμένη ημερομηνία με τις ώρες ορισμένες σε 10
[adinserter block=”3″]
Μπορούμε επίσης να ορίσουμε και τα λεπτά, τα δευτερόλεπτα και τα χιλιοστά του δευτερολέπτου, εάν το επιθυμούμε:
date.setHours(10, 30); // Ορίζουμε τις ώρες σε 10 και τα λεπτά σε 30 date.setHours(10, 30, 45); // Ορίζουμε τις ώρες σε 10, τα λεπτά σε 30 και τα δευτερόλεπτα σε 45 date.setHours(10, 30, 45, 500); // Ορίζουμε τις ώρες σε 10, τα λεπτά σε 30, τα δευτερόλεπτα σε 45 και τα χιλιοστά του δευτερολέπτου σε 500
Σημείωση: Η μέθοδος setHours()
αλλάζει τις ώρες της τρέχουσας ημερομηνίας και μετάφερει τον χρόνο αυτόνόμως, εάν είναι απαραίτητο, ανάλογα με τη νέα ένδειξη των ωρών.
Η μέθοδος setMinutes()
χρησιμοποιείται για να ορίσει τα λεπτά μιας ημερομηνίας.
Σύνταξη:
date.setMinutes(minutes[, seconds[, milliseconds]])
Παράμετροι:
minutes
: Τα λεπτά που θέλουμε να ορίσουμε. Πρέπει να είναι ένας ακέραιος αριθμός από 0 έως 59.seconds
: (Προαιρετικό) Τα δευτερόλεπτα που θέλουμε να ορίσουμε. Πρέπει να είναι ένας ακέραιος αριθμός από 0 έως 59.milliseconds
: (Προαιρετικό) Τα χιλιοστά του δευτερολέπτου που θέλουμε να ορίσουμε. Πρέπει να είναι ένας ακέραιος αριθμός από 0 έως 999.
Παράδειγμα:
const date = new Date(); console.log(date); // Παράδειγμα αποτυπώνει την τρέχουσα ημερομηνία date.setMinutes(30); // Ορίζουμε τα λεπτά σε 30 console.log(date); // Αλλαγμένη ημερομηνία με τα λεπτά ορισμένα σε 30
Μπορούμε επίσης να ορίσουμε και τα δευτερόλεπτα και τα χιλιοστά του δευτερολέπτου, εάν το επιθυμούμε:
date.setMinutes(30, 45); // Ορίζουμε τα λεπτά σε 30 και τα δευτερόλεπτα σε 45 date.setMinutes(30, 45, 500); // Ορίζουμε τα λεπτά σε 30, τα δευτερόλεπτα σε 45 και τα χιλιοστά του δευτερολέπτου σε 500
Σημείωση: Η μέθοδος setMinutes()
αλλάζει τα λεπτά της τρέχουσας ημερομηνίας και μεταφέρει τον χρόνο αυτόνόμως, εάν είναι απαραίτητο, ανάλογα με τη νέα ένδειξη των λεπτών.
Η μέθοδος setSeconds()
χρησιμοποιείται για να ορίσει τα δευτερόλεπτα μιας ημερομηνίας.
Σύνταξη:
date.setSeconds(seconds[, milliseconds])
Παράμετροι:
seconds
: Τα δευτερόλεπτα που θέλουμε να ορίσουμε. Πρέπει να είναι ένας ακέραιος αριθμός από 0 έως 59.milliseconds
: (Προαιρετικό) Τα χιλιοστά του δευτερολέπτου που θέλουμε να ορίσουμε. Πρέπει να είναι ένας ακέραιος αριθμός από 0 έως 999.
Παράδειγμα:
const date = new Date(); console.log(date); // Παράδειγμα αποτυπώνει την τρέχουσα ημερομηνία date.setSeconds(45); // Ορίζουμε τα δευτερόλεπτα σε 45 console.log(date); // Αλλαγμένη ημερομηνία με τα δευτερόλεπτα ορισμένα σε 45
Μπορούμε επίσης να ορίσουμε και τα χιλιοστά του δευτερολέπτου, εάν το επιθυμούμε:
date.setSeconds(45, 500); // Ορίζουμε τα δευτερόλεπτα σε 45 και τα χιλιοστά του δευτερολέπτου σε 500
Σημείωση: Η μέθοδος setSeconds()
αλλάζει τα δευτερόλεπτα της τρέχουσας ημερομηνίας και μεταφέρει τον χρόνο αυτόνόμως, εάν είναι απαραίτητο, ανάλογα με τη νέα ένδειξη των δευτερολέπτων.
Για να συγκρίνετε ημερομηνίες στη JavaScript, μπορείτε να χρησιμοποιήσετε τους τελεστές σύγκρισης (<
, >
, <=
, >=
) ή τον τελεστή ισότητας (===
ή ==
). Αυτοί οι τελεστές λειτουργούν όπως σε άλλες γλώσσες προγραμματισμού, αλλά πρέπει να λάβετε υπόψη τις ιδιαιτερότητες των ημερομηνιών.
Όταν χρησιμοποιείτε τους τελεστές σύγκρισης, η JavaScript θα μετατρέψει τις ημερομηνίες σε αριθμούς (τον αριθμό των milliseconds από την ημερομηνία της αναφοράς, που είναι η 1η Ιανουαρίου 1970). Στη συνέχεια, θα συγκρίνει αυτούς τους αριθμούς. Αυτή η μέθοδος είναι απλή και λειτουργεί για τις περισσότερες περιπτώσεις.
Παραδείγματα:
const date1 = new Date('2023-07-15'); const date2 = new Date('2023-07-20'); if (date1 < date2) { console.log('date1 is earlier than date2'); } if (date1 > date2) { console.log('date1 is later than date2'); } if (date1 === date2) { console.log('Both dates are equal'); } if (date1 == date2) { console.log('Both dates are loosely equal'); }
Σημείωση: Όταν χρησιμοποιείτε τον τελεστή ισότητας (==
ή ===
) για τις ημερομηνίες, θα επιστρέψει false
αν δύο ημερομηνίες είναι διαφορετικές, ακόμα και αν είναι οι ίδιες ημερομηνίες αλλά διαφορετικά αντικείμενα Date. Για να συγκρίνετε δύο ημερομηνίες με βάση την τιμή τους, πρέπει να χρησιμοποιήσετε τους τελεστές σύγκρισης (<
, >
, <=
, >=
).