Η αρχή της ημέρας στο JavaScript
Ας πάρουμε ένα αντικείμενο ημερομηνίας που περιέχει την αρχή της τρέχουσας ημέρας:
let now = new Date();
let date = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0);
Όπως ήδη γνωρίζετε, οι παράμετροι του αντικειμένου Date
μπορούν να παραλειφθούν από το τέλος. Σε αυτή την περίπτωση, οι ώρες,
τα λεπτά και τα δευτερόλεπτα θα έχουν τιμή 0.
Ας τις παραλείψουμε:
let now = new Date();
let date = new Date(now.getFullYear(), now.getMonth(), now.getDate());
Ωστόσο, η ημέρα δεν μπορεί να παραλειφθεί, αφού αν
παραλειφθεί, θα πάρει την τιμή 1, ενώ
εμείς χρειαζόμαστε την τρέχουσα ημέρα. Δεν μπορούμε να παραλείψουμε τον μήνα, χωρίς
να παραλείψουμε και το έτος, σύμφωνα με τους κανόνες λειτουργίας
του Date.
Δεν μπορούμε να παραλείψουμε ταυτόχρονα έτος, μήνα και ημέρα
- σε αυτή την περίπτωση θα ληφθεί η τρέχουσα
χρονική στιγμή. Γιατί αυτό είναι κακό, αφού εμείς
χρειαζόμαστε το τρέχον έτος, τον τρέχοντα μήνα και την τρέχουσα
ημέρα; Το θέμα είναι ότι χρειαζόμαστε τα μεσάνυχτα,
δηλαδή οι ώρες, τα λεπτά και τα δευτερόλεπτα πρέπει να έχουν
τιμή 0, ενώ στην τρέχουσα χρονική στιγμή
θα έχουν τις τρέχουσες τιμές, και όχι τα μεσάνυχτα.
Προσδιορίστε πόσες ώρες έχουν περάσει μεταξύ της αρχής της ημέρας και της τρέχουσας χρονικής στιγμής.