Vrstni datum
Vrstni datum je koledarski datum, ki je ponavadi sestavljen iz leta in zaporednega dneva leta med 1 in 366 (začne se na 1. januar), v nekaterih primerih se lahko leto izpusti. Dve številki sta v formatu LLLL-DDD, kar je v skladu z ISO 8601 sistemom prikaza vrstnega datuma.
Izračun
[uredi | uredi kodo]Izračun vrstnega datuma v letu je del računanja vrstnega datuma od neke začetne točke, kot recimo Julijanski datum. Je tudi del računanja dneva v tednu, kjer se lahko uporabi poenostavitev "modulo-7".
Za te izračune je nujno vpeljati meseca januar in februar kot 13. in 14. prejšnjega leta zaradi dveh razlogov: kratkost februarja in njegova spremenljivost. V takem primeru je datum od 1. marca naprej podan po naslednji formuli:
kar se lahko zapiše tudi kot:
kjer je m številka meseca in d je datum. je talna funkcija.
Formula izraža dejstvo, da ima katerihkoli pet zaporednih mesecev v razponu marec-januar skupno dolžino 153 dni, torej zaradi vzorca 31-30-31-30-31, ki se ponovi dvakrat.
"Doomsdayeve" lastnosti:
Za in dobimo
ki daje razlike v vrednosti 63 (9 tednov * 7) za n = 2, 3, 4, 5, 6, torej med 4/4, 6/6, 8/8, 10/10 in 12/12.
Za in dobimo
in z zamenjanimi m in d
kar daje razliko 119 (17 tednov * 7) za n = 2 (razlika med 5/9 in 9/5) in tudi za n = 3 (razlika med 7/11 in 11/7).
Vrstni datum od 1. januar je:
- za januar: d
- za februar: d + 31
- za ostale mesece: vrstni datum od 1. marca plus 59 (oz. plus 60 v prestopnem letu)
Vrstni datum od 1. marca prejšnjega leta (za katerega se formula računa) minus 306.
Modulo 7
[uredi | uredi kodo]Spet štejemo januar in februar kot meseca 13 in 14 prejšnjega leta, datum od 1. marca naprej pa je po pravilu modulo 7 enak:
kjer je m številka meseca in d je datum.
Izračun se lahko začne s 1. januarjem matematično brez if (če ..., potem) izrazov če vzamemo prednost logike z min in max (najmanj in največ) MAX je MIN je
kar doprinese mesec (m), dan (d) in leto (y)
//če je januar celi mesec
//če je februar celi mesec
//če je marec celi mesec
//če je april celi mesec
//če je maj celi mesec
//če je junij celi mesec
//če je julij celi mesec
//če je avgust celi mesec
//če je september celi mesec
//če je oktober celi mesec
//če je november celi mesec
//dnevi trenutnega meseca
//logika prestopnega gregorijanskega leta
//štej samo prestopna leta, če je datum v 3. mesecu //logika prestopnega leta
Primer za 24. avgust 2016 je
Tabela
[uredi | uredi kodo]K dnevu od | 13 januar |
14 februar |
3 marec |
4 april |
5 maj |
6 junij |
7 julij |
8 avgust |
9 september |
10 oktober |
11 november |
12 december |
i |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Prištej | 0 | 31 | 59 | 90 | 120 | 151 | 181 | 212 | 243 | 273 | 304 | 334 | 3 |
Prestopno leto | 0 | 31 | 60 | 91 | 121 | 152 | 182 | 213 | 244 | 274 | 305 | 335 | 2 |
Algoritem |
Na primer, vrstni datum 15. aprila je 90 + 15 = 105 v navadnem letu, in 91 + 15 = 106 v prestopnem letu.
Mesec-dan
[uredi | uredi kodo]Število meseca in datum je podan z
izraz se lahko spremeni tudi v , kjer je vrstni datum.
- 100. dan navadnega leta:
- 10. april
- 200. dan navadnega leta
- 19. julij
- 300. dan prestopnega leta:
- -5. november = 26. oktober (31 - 5)