Att bestämma veckodag för vilket datum som helst kan göras med en mängd olika algoritmer . Dessutom kräver eviga kalendrar inga beräkningar från användaren och är i huvudsak uppslagstabeller. En typisk applikation är att beräkna veckodagen då någon föddes eller en viss händelse inträffade.
I en numerisk beräkning representeras veckodagarna som siffror på veckodagarna. Om måndag är den första dagen i veckan, kan dagar kodas 1 till 7, måndag till söndag, enligt ISO 8601 . Dagen betecknad med 7 kan också betecknas som 0 genom att tillämpa aritmetikmodulen 7, som beräknar resten av talet efter att ha dividerat med 7. Således behandlas talet 7 som 0, 8 som 1, 9 som 2, 18 som 4 och så vidare.. Om söndag anses vara dag 1, så är 7 dagar senare (det vill säga dag 8) också söndag, och dag 18 är samma som dag 4, vilket är onsdag, eftersom den infaller tre dagar efter söndagen.
Standard | måndag | tisdag | onsdag | torsdag | fredag | lördag | söndag | Exempel på användning |
---|---|---|---|---|---|---|---|---|
ISO 8601 | ett | 2 | 3 | fyra | 5 | 6 | 7 | %_ISODOWI%, %@ISODOWI[]% ( 4DOS ); [1] DAYOFWEEK() ( HP Prime ) [2] |
0 | ett | 2 | 3 | fyra | 5 | 6 | ||
2 | 3 | fyra | 5 | 6 | 7 | ett | %VECKONADAG% ( NetWare , DR-DOS [3] ); %_DOWI%, %@DOWI[]% ( 4DOS ) [1] | |
ett | 2 | 3 | fyra | 5 | 6 | 0 | HP finansiella miniräknare |
Det grundläggande tillvägagångssättet för nästan alla metoder för att beräkna veckodagen börjar med ett "ankardatum": ett känt par (t.ex. 1 januari 1800 som onsdag), som bestämmer antalet dagar mellan den kända dagen och dagen du försöker för att bestämma och använda aritmetiken modulo 7 för att hitta ny numerisk veckodag.
En av standardmetoderna är att hitta (eller beräkna med hjälp av en känd regel) värdet av den första veckodagen i ett givet århundrade, hitta (eller beräkna med en jämförelsemetod) korrigeringen för månaden, beräkna antalet språng år sedan seklets början, och lägg dem sedan ihop med antalet år från seklets början och månadsdagen. Till slut erhålls en räknare för dagar, på vilken modul 7 appliceras för att bestämma veckodagen för datumet. [fyra]
Vissa metoder gör alla tillägg först och kasserar sedan sjuorna, medan andra kasserar dem vid varje steg, som i Lewis Carrolls metod . Båda metoderna är ganska genomförbara: den första är lättare för miniräknare och datorprogram, den andra är för mentala beräkningar (det är fullt möjligt att göra alla beräkningar i huvudet med lite övning). Ingen av metoderna som anges här utför en intervallkontroll, så ogiltiga datum kommer att ge felaktiga resultat.
Var sjunde dag i månaden har samma namn som den föregående:
Veckodag _ |
d |
---|---|
00 07 14 21 28 | 0 |
01 08 15 22 29 | ett |
02 09 16 23 30 | 2 |
03 10 17 24 31 | 3 |
04 11 18 25 | fyra |
05 12 19 26 | 5 |
06 13 20 27 | 6 |
"Liknande månader" är de månader av kalenderåret som börjar på samma veckodag. Till exempel matchar september och december eftersom 1 september infaller samma dag som 1 december (eftersom det är exakt tretton sjudagarsveckor mellan de två datumen). Månader kan bara matcha om antalet dagar mellan deras första dagar är delbart med 7, eller med andra ord om deras första dagar är dividerat med ett heltal av veckor. Till exempel motsvarar februari ett normalt år mars eftersom februari har 28 dagar, delbara med 7, och 28 dagar motsvarar exakt fyra veckor. Under ett skottår motsvarar januari och februari månader som skiljer sig från månaderna i ett vanligt år, eftersom tillägget av 29 februari innebär att varje efterföljande månad börjar en dag senare.
Motsvarande månader visas nedan.
Vanliga år
Skottår
Alla år
I tabellen över månader nedan har motsvarande månader samma antal, vilket följer direkt av definitionen.
Vanliga år | Skottår | m |
---|---|---|
januari oktober | oktober | 0 |
Maj | ett | |
augusti | februari augusti | 2 |
februari mars november | mars november | 3 |
juni | fyra | |
september december | 5 | |
april juli | Januari April Juli | 6 |
Det finns sju möjliga dagar året kan börja med, och skottår kommer att ändra veckodag efter den 29 februari. Det betyder att ett år kan ha 14 konfigurationer. Alla konfigurationer kan refereras till med en dominant bokstav, men eftersom ingen bokstav tilldelas den 29 februari finns det två dominerande bokstäver under ett skottår, en för januari och februari och den andra (ett steg tillbaka i alfabetisk ordning) för mars -December.
Till exempel var 2019 ett vanligt år som började på tisdag, vilket innebär att året som helhet var i linje med kalenderåret 2013. Å andra sidan var 2020 ett skottår som började på onsdagen, vilket i stort sett motsvarade kalenderåret 1992; i synnerhet de två första månaderna, med undantag för den 29 februari, motsvarade månaderna för kalenderåret 2014, och på grund av skottdagen 2020 motsvarade dess efterföljande tio månader kalenderåret 2015. 2021 var ett ordinarie år som började på fredag: dess första två månader motsvarade, förutom den 29 februari, månaderna för kalenderåret 2016, och dess efterföljande 10 månader motsvarade kalenderåret 2010. Eftersom varken 2010 eller 2021 är skottår är de två åren naturligtvis helt konsekventa.
Vidare:
Se tabellen nedan för detaljer.
Century year mod 28 |
y |
---|---|
00 06 12 17 23 | 0 |
01 07 12 18 24 | ett |
02 08 13 19 24 | 2 |
03 08 14 20 25 | 3 |
04 09 15 20 26 | fyra |
04 10 16 21 27 | 5 |
05 11 16 22 00 | 6 |
Anmärkningar:
Kalender huvudräkning är en gren i världsmästerskapen i huvudräkning , som har arrangerats vartannat år sedan 2004. Det högsta möjliga antalet veckodagar för datum mellan 1600 och 2100 gregorianska måste fastställas inom en minut. Bäst av 2 försök bedöms.
År | Vinnare | Land | Resultat |
---|---|---|---|
2004 | Matthias Kesselschlager | Tyskland | 33 |
2006 | Matthias Kesselschlager | Tyskland | 35 |
2008 | Jan van Koningsveld | Tyskland | 40 |
2010 | Yusnier Viera | Kuba | 48 |
2012 | Myagmarsuren Tuuruul | mongoliet | 57 |
2014 | Mark Hornet Sans | Spanien | 64 |
2016 | Georgi Georgiev | Bulgarien | 66 |
2018 | Mark Hornet Sans | Spanien | 71 |
Världsrekordet - 140 beräkningar per minut - sattes 2018 av Yusnier Viera från USA (tidigare Kuba) [6] .
Särskilt svåra är uppgifter att bestämma veckodag med flersiffriga årtal. Litteraturen beskriver beräkningen av veckodagen av ett datum med ett åttasiffrigt årtal av superräknare Jacques Inaudi och Maurice Dagber [7] .
Av de ryska räknarna hanteras kalenderberäkningar med extra långa år av ”man-kalendern” Vladimir Kutyukov [8] [9] [10] [11] [12] [13] .