Pomoć:Vremenska funkcija
08:48 (UTC) |
četvrtak, 21. studenoga 2024. |
47. tjedan |
326. dan u godini |
Primjer primjene funkcije |
Vremenska funkcija je funkcija parsera koja služi za oblikovanje prikazivanja vremena te za izračun vremena u formulama. Može imati dva oblika, #time ili #timel.
Ova se funkcija najčešće rabi na posebnim stranicama, kao što su na primjer Glavna stranica ili predlošci. Zbog veće fleksibilnosti rabi se kao dopuna ili zamjena za vremenske varijable.
Uporaba
Osnovni oblik funkcije #time uzima datum i vrijeme sa servera (po gregorijanskom kalendaru) i oblikuje ga po zadanoj sintaksi.
Inačica #timel identična je funkciji #time, osim što uzima lokalni datum i vrijeme, analogno varijablama {{MJESN*}} u odnosu na {{TRENUTAČN*}}, na primjer {{TRENUTAČNOVRIJEME}} 08:48 — {{MJESNOVRIJEME}} 08:48.
U primjerima je naveden lokalni oblik funkcije #timel, koji se najčešće i rabi na ovoj Wikipediji.
(Većina primjera je "živa", s primijenjenom funkcijom, te po potrebi očistite cache za osvježavanje podataka.)
Funkcija se može rabiti u tri oblika sa sljedećim parametrima:
- {{#timel: format }}
- {{#timel: format | modifikacija }}
- {{#timel: format | modifikacija | oznaka jezika }}
Parametri se mogu izostaviti, ali im se mora zadržati pozicija. (Parametar format također se može izostaviti, ali to nema smisla je se ništa neće prikazati, npr. {{#timel: |+2 weeks|hr}} nema nikakav učinak.)
format - U donjoj tablici kodova je popis svih kodova čijom se kombinacijom dobiva željeni oblik. Često (skoro uvijek) će se uz kodove rabiti dodatni znaci ili tekst. Propuštaju se i prikazuju svi znaci koji nisu navedeni u tablici kodova, uključujući i razmak. Ako se slova iz kôda trebaju ubaciti kao tekst, to se može postići na dva načina:
- Za ubacivanje samo jednog znaka ispred njega napisati obrnutu kosu crtu (npr. kôd g prikazuje broj sati u 12-satnom obliku bez vodeće nule: {{#timel: 2016. g. }} → 2016. 8., a ako mu prethodi obrnuta kosa crta prikazat će se kao slovo {{#timel: 2016. \g. }} → 2016. g.).
- Stavljanjem čitavog izraza u navodnike, npr. {{#timel: "''Ljeta Gospodnjeg''" Y. }} → Ljeta Gospodnjeg 2024.
Navodnici se ne prikazuju, ali se u slučaju potrebe mogu navesti kao što je opisano u prvom načinu: \""neki tekst"\" (izvan navodnika) te kao kôd " ili kao HTML element " (u navodnicima).
modifikacija - Ako se ovaj parametar ne navede, podrazumijeva se tekuće vrijeme (vrijednost now koja se može izostaviti), a modifikacija dopušta neko drugo vrijeme koje će se pokazati. Može se navesti u apsolutnoj ili relativnoj vrijednosti.
- Apsolutna vrijednost navodi se u nekom obliku koji se međunarodno koristi za ispisivanje datuma i vremena (npr. 21.11.2024. 08:48:42 — November 21, 2024, 8:48:42 AM — 2024-11-21 08.48.42...), ali ne može sadržavati lokalne (hrvatske) nazive mjeseca (npr. {{#timel: d. F Y. | 21. studenoga 2024. }} dat će grešku jer nije prepoznato kao valjani datum), već se mjesec mora navesti brojem (sa ili bez vodeće nule), ili engleskim nazivom, ili skraćenicom (npr. za ovaj mjesec 11, 11, November, Nov). Ako se apsolutna vrijednost navede djelomično, nedostajući podatci (neki, ali ne svi) dopunit će se iz tekućih podataka (npr. {{#time: d. F Y. H:i:s | May }} → 21. svibnja 2024. 00:00:00, dopunjeno je tekućim danom i godinom, ali je prikazan početak dana a ne trenutačno vrijeme).
- Relativna vrijednost također prihvaća samo engleske nazive (svejedno u jednini ili množini, a za sekunde i minute moguć je duži ili kraći oblik):
- sec [secs/second/seconds] - sekunda
- min [mins/minute/minutes] - minuta
- hour(s) - sat
- day(s) - dan
- week(s) - tjedan
- month(s) - mjesec
- year(s) - godina
- Samostalno navedena vrijednost odnosi se na tekuće vrijeme (npr. jedan mjesec prije ovoga mjeseca {{#timel: xg | -1 month }} → listopad), a može se rabiti i u kombinaciji s apsolutnom vrijednošću (npr. jedan mjesen nakon listopada {{#timel: xg | 03.10.1954. +1 month }} → studeni).
- Razmak između modifikatora se ignorira, tako da je svejedno napišete li {{#time: d. F Y. H:i:s |+1month+3days-1year-2hours}} ili {{#time: d. F Y. H:i:s |+1month + 3 days -1 year -2hours}}.
- Obratite pažnju na gornje primjere u kojima se rabi kôd xg umjesto F za prikazivanje naziva mjeseca u nominativu. Razlog je naveden u napomeni ispod tablice kodova.
oznaka jezika - ako se navede dvoslovni kôd jezika prema standardu ISO 639-1 (de, ru...) format će se prikazati u navedenom jeziku (npr. {{#timel: "ruski:" d. F Y. | |ru}} → ruski: 21. ноябрь 2024.). Izostavljen parametar podrazumijeva jezik Wikipedije, odnosno oznaku hr za hrvatski jezik na ovoj Wikipediji.
Tablica kodova
Sljedeća tablica sadržava popis kodova koji se rabe u oblikovanju datuma i vremena. Prilagođena je ovoj Wikipediji, a preuzeta je sa stranice na engleskoj Wikipediji (koja je pak preuzeta s MediaWiki stranice mw:Help:Extension:ParserFunctions#time).
Ispis rezultata dan je kako ih funkcija proizvodi, razgodci (npr. točka iza godine, dvotočje između sati i minuta, zarez u odvajanju imena dana) dodaju se kao tekst.
Kôd | Opis | Djelovanje (tekući rezultat) (očistite cache za ažuriranje) | |
---|---|---|---|
#time | #timel | ||
Godina | |||
Y | Godina s 4 znamenke. | 2024 | 2024 |
y | Godina s 2 znamenke. | 24 | 24 |
L | Vrijednost 1 ako je prijestupna godina, 0 ako nije. (primjer) | 1 | 1 |
o ¹ | Godina odgovarajućeg tjedna, prema ISO-8601 ² | 2024 | 2024 |
¹ Minimalno PHP 5.1.0 i rev:45208. Ako uvjeti nisu ispunjeni, prikazuje se slovo "o" | |||
Mjesec | |||
n | Broj mjeseca, bez vodeće nule. | 11 | 11 |
m | Broj mjeseca, s vodećom nulom. | 11 | 11 |
t | Ukupan broj dana u mjesecu. | 30 | 30 |
M | Skraćeni naziv mjeseca, na lokalnom jeziku. | stu | stu |
F | Puni naziv mjeseca, na lokalnom jeziku. (Vidjeti napomenu) |
studenoga | studenoga |
xg | Naziv mjeseca u genitivu, za jezike koji razlikuju oblik nominitiva i genitiva. (Vidjeti napomenu) |
studeni | studeni |
Tjedan | |||
W | Broj tjedna prema ISO 8601, s vodećom nulom. | 47 | 47 |
Dan | |||
j | Dan u mjesecu, bez vodeće nule. | 21 | 21 |
d | Dan u mjesecu, s vodećom nulom. | 21 | 21 |
z | Dan u godini. Napomena: 1. siječnja = 0, dodati 1 za uobičajeno brojenje. (primjer) | 325 | 325 |
D | Skraćeni (troslovni) oblik naziva dana u tjednu. | čet | čet |
l | Puni oblik naziva dana u tjednu. | četvrtak | četvrtak |
N | Redni broj dana u tjednu, prema standardu ISO 8601 (ponedjeljak = 1, nedjelja = 7). | 4 | 4 |
w | Redni broj dana u tjednu (nedjelja = 0, subota = 6). | 4 | 4 |
Sati | |||
a | Vrijednost "am" (prijepodne) od 00:00:00 do 11:59:59, "pm" (poslijepodne) od 12:00:00 do 23:59:59. | am | am |
A | Vrijednost "AM" (prijepodne) od 00:00:00 do 11:59:59, "PM" (poslijepodne) od 12:00:00 do 23:59:59. | AM | AM |
g | 12-satni oblik vremena, bez vodeće nule. | 8 | 8 |
h | 12-satni oblik vremena, s vodećom nulom. | 08 | 08 |
G | 24-satni oblik vremena, bez vodeće nule. | 8 | 8 |
H | 24-satni oblik vremena, s vodećom nulom. | 08 | 08 |
Minute i sekunde | |||
i | Minute u satu, s vodećom nulom. | 48 | 48 |
s | Sekunde u minuti, s vodećom nulom. | 42 | 42 |
U | Broj sekundâ od 1. siječnja 1970. 00:00:00 GMT (Unixovo računanje vremena; primjer za dobivanje vremena iz ovog broja) | 1732178922 | 1732178922 |
Vremenska zona | |||
e | Oznaka vremenske zone. | UTC | UTC |
I | Vrijednost 1 ako je datum u zimskom računanju vremena, 0 u ljetnom. (primjer) | 0 | 0 |
O | Razlika u odnosu na GMT. | +0000 | +0000 |
P | Razlika u odnosu na GMT, s dvotočjem | +00:00 | +00:00 |
T | Kratica vremenske zone. | UTC | UTC |
Z | Razlika u odnosu na GMT u sekundama. | 0 | 0 |
Ostalo | |||
c | Vrijeme formatirano prema ISO 8601, ekvivalentno Y-m-d"T"H:i:s+00:00. | 2024-11-21T08:48:42+00:00 | 2024-11-21T08:48:42+00:00 |
r | Vrijeme formatirano prema RFC 5322, ekvivalentno D, j M Y H:i:s +0000, ime dana i mjeseca nije internacionalizirano. | Thu, 21 Nov 2024 08:48:42 +0000 | Thu, 21 Nov 2024 08:48:42 +0000 |
Drugi kalendari | |||
Islamski | |||
xmj | Dan u mjesecu. | 19 | 19 |
xmF | Puni naziv mjeseca. | džumadelula | džumadelula |
xmn | Broj mjeseca. | 5 | 5 |
xmY | Godina u punom obliku. | 1446 | 1446 |
Iranski | |||
xij | Dan u mjesecu. | 1 | 1 |
xiF | Puni naziv mjeseca. | adara | adara |
xin | Broj mjeseca. | 9 | 9 |
xiY | Godina u punom obliku. | 1403 | 1403 |
xiy | Godina s 2 znamenke. | 03 | 03 |
Hebrejski | |||
xjj | Dan u mjesecu. | 20 | 20 |
xjF | Puni naziv mjeseca. | hešvan | hešvan |
xjt | Ukupan broj dana u mjesecu. | 30 | 30 |
xjx | Naziv mjeseca u genitivu. | hešvana | hešvana |
xjn | Broj mjeseca. | 2 | 2 |
xjY | Godina u punom obliku. | 5785 | 5785 |
Tajski solarni | |||
xkY | Godina u punom obliku. Opaska: Za godine prije 1941. datumi u rasponu od siječnja do ožujka nisu pravilno izračunati. |
2567 | 2567 |
Minguoski/Juche | |||
xoY | Godina u punom obliku. | 113 | 113 |
Japanski nengo | |||
xtY | Godina u punom obliku. | 令和6 | 令和6 |
Predznak x | |||
xn | Sljedeći numerički kôd formatira kao ASCII broj. | (primjer) | |
xN | Slično kao xn, ali djeluje na cijeli niz ili do sljedeće oznake xN. | (primjer) | |
xr | Prikazuje sljedeći broj kao rimski broj (vrijedi za brojeve do 10.000). | (primjer) | |
xh | Prikazuje sljedeći broj kao Hebrejski broj. | (primjer) |
Napomene:
- Na hrvatskoj Wikipediji su, prije uvođenja genitivnog oblika mjesecâ u softver, definirani genitivni oblici mjeseca u odgovarajućim MediaWiki datotekama i to je bez velike intervencije nemoguće ispraviti (rabe se na puno mjesta). Stoga pri uporabi kodove xg i F treba međusobno zamijeniti, odnosno za oblik u genitivu rabiti F, a za oblik u nominativu rabiti xg.
- Zbog buga u funkciji, modifikacija vremenske zone prihvaća samo cijele brojeve (za pune sate). Rješenje za zaobilaženje je modifikaciju izraziti u minutama ili sekundama.
- Rezultat koda {{#timel: H:i | -4.5 hours }} je neispravan: 08:48 -4,5 sati ≠ 17:48
- Ispravno je {{#timel: H:i | -270 min }} → 04:18 ili {{#timel: H:i | -16200 sec }} → 04:18, jer 08:48 - 4,5 sati = 04:18.
Primjeri
- Sljedećim wikitekstom urađen je primjer s vrha stranice (koji, recimo, možete kopirati i postaviti na vašu suradničku stranicu):
{| style="float: right; border: solid 3px gray; border-collapse: collapse; text-align: center; margin: 10px; font-weight: bold;" | style="font-size: 16px; margin: 10px; background-color: whitesmoke; padding: 5px; " | {{#timel: H:i}} <br><span style="font-size: 70%;> {{#timel: (T)}} </span> |- | style="background-color: navy; color: yellow; font-size: 16px; padding: 5px;" | {{#timel: l, j. F Y.}} |- | style="background-color: whitesmoke;" | {{#timel:{{#expr: {{#timel: W }} *1}}. "tjedan"{{#ifexpr: {{#timel:Y}} = {{#timel:o}} | <!-- prazno: tjedan je u tekućoj godini--> | <!-- tjedan nije u tekućoj godini, prikazati u kojoj je -->"<span style='font-weight: normal;'> (u" {{#timel:o.}} "godini)</span>"}} }} |- | style="background-color: whitesmoke;" | {{#expr: {{#timel: z }} +1}}. dan u godini |- | style="font-weight: bold; font-size: 10px; border-top: 1px solid gray;" | [[#primjer|Primjer primjene funkcije]] |}
- Vrijeme kako se prikazuje u potpisima može se dobiti sljedećim izrazom:
- {{#timel: H:i, j. F Y. (T)}} → 08:48, 21. studenoga 2024. (UTC). Na isti se način pokazuje i vrijeme u povijesti izmjena, osim što je izostavljena vremenska zona.
- Prikazivanje prijestupne godine, obuhvaća i primjer uporabe u izrazu
- {{#ifexpr: {{#timel:L}}= 1 | godina {{#timel:Y.}} je prijestupna | godina {{#timel:Y.}} nije prijestupna}} → godina 2024. je prijestupna.
- Prikazivanje je li datum u ljetnom ili zimskom računanju vremena
- {{#ifexpr: {{#timel: I }}= 1 | datum je u periodu ljetnog računanja vremena (CEST) | datum je u periodu zimskog računanja vremena (CET) }}. → datum je u periodu zimskog računanja vremena (CET).
- Primjer određivanja godine prema broju tjedna
- Prema ISO definiciji, prvi tjedan u godini je prvi tjedan koji u sebi ima četvrtak. Tako je 1. siječnja 2016. pripadao 53. tjednu 2015. jer je prvi četvrtak bio 7. siječnja 2016.
- Funkcija s kôdom Y je stoga pogrešna jer daje tjedan u tekućoj godini {{#timel: W. "tjedan" Y. | 1.1.2016. }} → 53. tjedan 2016., a funkcija s kôdom o daje točnu godinu u kojoj se tjedan nalazi {{#timel: W. "tjedan" o. | 1.1.2016.}} → 53. tjedan 2015.
- Isto tako, 31. prosinca 2014. bio je u prvom tjednu 2015. godine, te je i u tom slučaju funkcija s kôdom Y pogrešna, a s kôdom o ispravna:
- {{#timel: W. "tjedan" Y. | 31.12.2014. }} → 01. tjedan 2014. — {{#timel: W. "tjedan" o. | 31.12.2014. }} → 01. tjedan 2015.
- Jednoznamenkast broj tjedna:
- Kôd W daje dvoznamenkast broj tjedna u godini te su tjedni 1-9 s vodećom nulom. Vodeća nula može se ukloniti sledećim trikom (rezultat funkcije pomnožiti s 1):
- {{#timel: j. F Y. "je u" {{#expr: {{#timel: W }} *1}}. "tjednu"| 4.2.2020.}} → 4. veljače 2020. je u 47. tjednu.
- Izračunavanje dana u godini (dodati 1 na rezultat koda z):
- {{#timel: j. F}} je {{#expr: {{#timel: z }} +1}}. dan u godini → 21. studenoga je 326. dan u godini.
- Prikazivanje ASCII broja:
- U hindskom jeziku:
- xn: {{#timel:"sada je" H "sati" - "sada je" xn H "sati" | | hi }} → sada je ०८ sati - sada je 08 sati,
- xN: {{#timel:"vrijeme je" H i s — "vrijeme je" xN H i s xN | | hi }} → vrijeme je ०८ ४८ ४२ — vrijeme je 08 48 42
- Prikazivanje rimskim brojevima
- Wikipedija {{#time: xrY }}. → Wikipedija MMXXIV.
- Prikazivanje hebrejskog kalendara
- Primjer pokazuje dva načina pisanja
- 20 - 2 - 5785 — dobiveno kodom {{#timel: xjj - xjn - xjY}}
- 1 - 4 - 5786 — dobiveno kodom {{#timel: xjj - xjn - xjY|+1 month +1 year}}
- Navođenjem kôda xh* umjesto xj* dobiva se ispis hebrejskim brojevima:
- כ"א - י"א - ב'כ"ד — dobiveno kodom {{#timel: xhj - xhn - xhY}}
- כ"א - י"ב - ב'כ"ה — dobiveno kodom {{#timel: xhj - xhn - xhY|+1 month +1 year}}
- Primjer dobrodošlice prema dobu dana
- Sljedeći wikitekst prema dobu dana pokazuje odgovarajući pozdrav - "dobro jutro" od 2 do 10 sati, "dobar dan" od 10 do 18 sati, te "dobra večer" u ostalo vrijeme: Dobro jutro i dobro došli na Wikipediju!
- {{#ifexpr: {{#timel:G}} < 2 | Dobra večer | {{#ifexpr: {{#timel:G}} < 10 | Dobro jutro | {{#ifexpr: {{#timel:G}} < 18 | Dobar dan | Dobra večer }} }} }} i dobro došli na Wikipediju!
- Unixova oznaka vremena
- Unixova oznaka vremena je cijeli broj koji predstavlja broj sekundâ prije (negativan broj) i nakon (pozitivan broj) 00:00:00 GMT 1. siječnja 1970. (četvrtak). Wikipedija interno sva vremena bilježi u ovom obliku i preko njih vrši izračunavanja. Za dobivanje "čitljivog" vremena, to se vrijeme stavlja kao modifikacija funkcije navođenjem znaka @ ispred oznake:
- {{#time: D H:i:s, j. F Y. (T) | @0 }} → čet 00:00:00, 1. siječnja 1970. (UTC) (početno vrijeme, funkcija #time)
- {{#timel: D H:i:s, j. F Y. (T) | @1234567890 }} → pet 23:31:30, 13. veljače 2009. (UTC)
- {{#timel: D H:i:s, j. F Y. (T) | @-1234567890 }} → uto 00:28:30, 18. studenoga 1930. (UTC)