Έλεγχος ορθότητας ημερομηνίας σε JavaScript
Ας μάθουμε τώρα πώς να ελέγχουμε αν μια ημερομηνία είναι
ορθή. Για παράδειγμα, η 31 Ιανουαρίου
είναι μια ορθή ημερομηνία, ενώ η 32 Ιανουαρίου
είναι μη ορθή. Όπως γνωρίζετε, το JavaScript
διορθώνει αυτόματα τις ημερομηνίες. Στην περίπτωσή μας
αυτό σημαίνει ότι η 32 Ιανουαρίου θα γίνει αυτόματα
1 Φεβρουαρίου.
Αυτή η ιδιότητα του JavaScript μπορεί να χρησιμοποιηθεί για να ελέγξουμε αν μια ημερομηνία υπάρχει. Πώς θα ελέγξουμε: θα δημιουργήσουμε ένα αντικείμενο ημερομηνίας και θα ελέγξουμε αν έχουν αλλάξει τα μέρη της ημερομηνίας ή όχι. Με άλλα λόγια, αν το JavaScript εκτέλεσε διόρθωση στην ημερομηνία μας ή όχι. Αν την εκτέλεσε - σημαίνει ότι η ημερομηνία που περάσαμε είναι μη ορθή, ενώ αν δεν την εκτέλεσε - είναι ορθή.
Ας κάνουμε όσα περιγράψαμε:
let year = 2025;
let month = 0;
let day = 32;
let date = new Date(year, month, day);
if (date.getFullYear() == year && date.getMonth() == month && date.getDate() == day) {
console.log('ορθή');
} else {
console.log('μη ορθή');
}
Δημιουργήστε μια συνάρτηση checkDate, η οποία
θα εκτελεί τον περιγραφόμενο έλεγχο. Αφήστε την
συνάρτηση να επιστρέφει true, αν η ημερομηνία
είναι ορθή και false, αν δεν είναι. Παράδειγμα
λειτουργίας αυτής της συνάρτησης για την 31 Ιανουαρίου
και την 32 Ιανουαρίου:
console.log(checkDate(2025, 0, 31)); // θα εμφανίσει true
console.log(checkDate(2025, 0, 32)); // θα εμφανίσει false