OMOJBOŽE STANI
Ovo je templejt stranica koju koristi administracija BCMS SCP Vikija.
MOLIMO VAS DA NE DIRATE OVU STRANICU
BEZ DOZVOLE ADMINISTRACIJE
Šta je ovo
Komponenta koja prikazuje vreme ili datum u vremenskoj zoni čitaoca.
Vremenska zona čitaoca automatski će se izračunati. Sve što treba da uradite je da na stranicu unesete vremensku zonu vremena koje želite.
Ako se vaša vremenska zona podudara sa vremenskom zonom čitaoca, ovaj modul se neće pojaviti. Ovo je namerno! I dalje će biti tu za čitaoce kojima je potreban.
Imajte na umu sledeće izuzetke letnjeg računanja vremena: i "EST" i "EDT", kada se unesu u ovu komponentu, pretvaraju se u vremensku zonu America/New_York, koja se zatim pretvara u EST ili EDT, u zavisnosti od doba godine. "BST" se pretvara u Europe/London, a zatim u GMT ili BST, u zavisnosti od doba godine. Da biste izbegli ovu zabunu, izbegavajte korištenje vremenskih zona koje se razlikuju u zavisnosti od DST-a! Koristite statičku vremensku zonu poput UTC.
Način korištenja
U stranicu unesite sledeći kod:
[[include component:tz
| time=18:00
| tz=UTC
]]
Postavka u kurzivu je opcionalna. Sve ostalo morate imati unešeno. Ako izostavite opcionalnu postavku, tada će se koristiti njena podrazumevana vrednost. Ako izostavite obaveznu postavku, nemojte očekivati da komponenta radi ispravno.
Da biste izostavili postavku, samo ju potpuno izbacite.
Izvorni kod
HTML struktura prevodioca
Nažalost, ovo je zakopano u izvornom kodu - moraćete da kopate ako želite da ju nađete!
JS za funkcionisanje konvertora
document.addEventListener("DOMContentLoaded", function() { console.log(date); date = date === "{$date}" ? moment().format("Y-MM-DD") : date; console.log(date); tz = tz === "{$tz}" ? "UTC" : tz; tz = tz === "EST" ? "America/New_York" : tz; tz = tz === "EDT" ? "America/New_York" : tz; tz = tz === "BST" ? "Europe/London" : tz; given_time = moment.tz(date + " " + time, tz); tz = given_time.format("z"); text_before = text_before === "{$text_before}" ? "${time} ${tz} je " : text_before; text_after = text_after === "{$text_after}" ? "." : text_after; // eval is used here to convert text strings to template literals // variables of the form ${var} will be parsed text_before = eval('`' + text_before + '`'); text_after = eval('`' + text_after + '`'); user_tz = Intl.DateTimeFormat().resolvedOptions().timeZone; converted_time = given_time.tz(user_tz); converted_time_tz = converted_time.format("HH:mm z"); console.log(given_time); console.log(converted_time); document.getElementById("text_before").textContent = text_before; document.getElementById("text_converted").textContent = converted_time_tz; document.getElementById("text_after").textContent = text_after; if (converted_time.format("z") === tz) { // e.g. displaying an EST time to an EST user - that's pointless! document.documentElement.style.display = 'none'; } });
CSS za stajliranje izlaznog wrapper-a
.timezone-thingy { margin-top: -0.5rem; } .timezone-thingy iframe { border: none; max-height: 3.5rem; }
CSS za stajliranje izlaza interno
#wrapper { padding: 0.5rem !important; border: 1px solid #660000; border-radius: 10px; box-shadow: 0 2px 6px rgba(102,0,0,.5); background: white; margin: 0.5rem 0; display: inline-block; position: relative; left: 50%; transform: translateX(-50%); } #wrapper p { margin: 0; } #wrapper img { height: 1rem; vertical-align: text-top; }