Υπολογισμός με Ακρίβεια Ημερών & Ημέρας της Εβδομάδας
Στην πράξη — από τόκους δανείων μέχρι προθεσμίες και διαγωνισμούς — συχνά χρειάζεται να ξέρουμε:
- Πόσες ημέρες μεσολαβούν μεταξύ δύο ημερομηνιών;
- Ποια ημέρα της εβδομάδας αντιστοιχεί σε μια συγκεκριμένη ημερομηνία;
1) Πόσες ημέρες μεσολαβούν μεταξύ δύο ημερομηνιών
Βήμα Α — Ημέρες κάθε μήνα
| Μήνας | Ημέρες | Μήνας | Ημέρες |
|---|---|---|---|
| Ιανουάριος | 31 | Ιούλιος | 31 |
| Φεβρουάριος | 28* | Αύγουστος | 31 |
| Μάρτιος | 31 | Σεπτέμβριος | 30 |
| Απρίλιος | 30 | Οκτώβριος | 31 |
| Μάιος | 31 | Νοέμβριος | 30 |
| Ιούνιος | 30 | Δεκέμβριος | 31 |
*Δίσεκτο: ο Φεβρουάριος έχει 29 ημέρες.
Κανόνας δίσεκτου έτους
Ένα έτος είναι δίσεκτο αν:
- διαιρείται με το 4,
- εκτός αν είναι αιώνας (π.χ. 1900),
- και οι αιώνες είναι δίσεκτοι μόνο αν διαιρούνται με 400 (π.χ. 2000).
Βήμα Β — Μετράμε σωστά τα άκρα
Συνήθως μετράμε:
- την ημέρα εκκίνησης (inclusive)
- όχι την ημέρα λήξης (exclusive)
Παράδειγμα
Ημέρες από 30 Δεκ. έως 1 Ιουλίου (μη δίσεκτο έτος):
- Δεκέμβριος: 30–31 → 2 ημέρες
- Ιανουάριος: 31
- Φεβρουάριος: 28
- Μάρτιος: 31
- Απρίλιος: 30
- Μάιος: 31
- Ιούνιος: 30
- 1 Ιουλ. δεν μετράται
Σύνολο: 183 ημέρες.
2) Ποια ημέρα της εβδομάδας είναι μια ημερομηνία
Ένας απλός αλγόριθμος (εντός Γρηγοριανού ημερολογίου):
Δίνουμε το έτος Y και υπολογίζουμε:
- A = Y − 1
- B = ⌊A/4⌋
- C = ⌊A/100⌋
- D = ⌊A/400⌋
Μετά:
S = Y + (σειριακή ημέρα έτους) + B − C + D
Τέλος:
S mod 7 ⇒ 0=Κυρ, 1=Δευ, …, 6=Σαβ
Παράδειγμα: 20 Ιουλίου 1969
Σειριακή ημέρα: 201
A=1968, B=492, C=19, D=4
S=2647 ⇒ 2647 mod 7 = 0 ⇒ Κυριακή.
Πράγματι, η πρώτη προσελήνωση έγινε Κυριακή.

1 σχόλιο:
Να διορθωθεί το S=2.647 σε S=2.646.
ΑπάντησηΔιαγραφή