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
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:
![{\displaystyle \lfloor 30,6(m+1)\rfloor +d-122}](https://cdn.statically.io/img/wikimedia.org/api/rest_v1/media/math/render/svg/aa6e743f3cd19b20d81aace24cbcac0d0f4d953e)
kar se lahko zapiše tudi kot:
![{\displaystyle \left\lfloor 30,6m-91.4\right\rfloor +d}](https://cdn.statically.io/img/wikimedia.org/api/rest_v1/media/math/render/svg/fab4f86d7518f2a38b28cb29f1a25df908cf502e)
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
![{\displaystyle \left\lfloor 63,2n-91,4\right\rfloor }](https://cdn.statically.io/img/wikimedia.org/api/rest_v1/media/math/render/svg/2724de63368ba2c8a67a5b3add9832bb6d94ea3e)
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
![{\displaystyle \left\lfloor 63,2n-56,8\right\rfloor }](https://cdn.statically.io/img/wikimedia.org/api/rest_v1/media/math/render/svg/77d3c9f2fb0f6d125bc8af184e439c1d3d5e22d6)
in z zamenjanimi m in d
![{\displaystyle \left\lfloor 63,2n-56,8+118,4\right\rfloor }](https://cdn.statically.io/img/wikimedia.org/api/rest_v1/media/math/render/svg/cbc4bdf060b80f2c239c7798955ac5f7539cce49)
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
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:
![{\displaystyle \left\lfloor 2,6m-0,4\right\rfloor +d}](https://cdn.statically.io/img/wikimedia.org/api/rest_v1/media/math/render/svg/f05656cc4467ad91f727fa5096c75ac135bbd683)
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
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
Število meseca in datum je podan z
![{\displaystyle m=\left\lfloor od/30\right\rfloor +1}](https://cdn.statically.io/img/wikimedia.org/api/rest_v1/media/math/render/svg/9495241d3cfff0aebd7e3f0491a38081d6714ba8)
![{\displaystyle d=mod(od,30)+i-\left\lfloor 0,6(m+1)\right\rfloor }](https://cdn.statically.io/img/wikimedia.org/api/rest_v1/media/math/render/svg/e0e11f81cec2dafb01980ca40dbd10b13df2b511)
izraz
se lahko spremeni tudi v
, kjer je
vrstni datum.
![{\displaystyle m=\left\lfloor 100/30\right\rfloor +1=4}](https://cdn.statically.io/img/wikimedia.org/api/rest_v1/media/math/render/svg/49aac92eebf9828ec7574433cb13cb8f9ccf8e4b)
![{\displaystyle d=mod(100,30)+3-\left\lfloor 0,6(4+1)\right\rfloor =10+3-3=10}](https://cdn.statically.io/img/wikimedia.org/api/rest_v1/media/math/render/svg/1319f845e9afa92e09d13aed80ff282147831ac3)
- 10. april
![{\displaystyle m=\left\lfloor 200/30\right\rfloor +1=7}](https://cdn.statically.io/img/wikimedia.org/api/rest_v1/media/math/render/svg/1f1211040efb45d21d4960eb753ecf302db4c4d6)
![{\displaystyle d=mod(200,30)+3-\left\lfloor 0,6(7+1)\right\rfloor =20+3-4=19}](https://cdn.statically.io/img/wikimedia.org/api/rest_v1/media/math/render/svg/b0d7b5422ae135e97d4615c0574555f4b94f660b)
- 19. julij
- 300. dan prestopnega leta:
![{\displaystyle m=\left\lfloor 300/30\right\rfloor +1=11}](https://cdn.statically.io/img/wikimedia.org/api/rest_v1/media/math/render/svg/1d4175fc108055b59a3ce090f3312b62d7f5814c)
![{\displaystyle d=mod(300,30)+2-\left\lfloor 0,6(11+1)\right\rfloor =0+2-7=-5}](https://cdn.statically.io/img/wikimedia.org/api/rest_v1/media/math/render/svg/f38332fb3848b80e436cf487df108d1b63692be9)
- -5. november = 26. oktober (31 - 5)
Glej tudi