Prevodilac Vremenskih Zona

OMOJBOŽE STANI

Ovo je templejt stranica koju koristi administracija BCMS SCP Vikija.

MOLIMO VAS DA NE DIRATE OVU STRANICU
BEZ DOZVOLE ADMINISTRACIJE


[[iftags +theme]]
This deprecated component no longer does anything. See the new version here: http://scp-wiki.wikidot.com/component:croqstyle
[[/iftags]]

Š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.

time Vreme kada se odvija događaj. Vreme bi trebalo da sadrži dve cifre, zatim dvotačku, zatim još dve cifre. "18:30" je u redu. "1830", "6:30 PM" i "pola sedam posle podne" nisu.
tz
(Opcionalna)
Vremenska zona vremena koje unosite.
Podrazumevana vrednost: UTC
date
(Opcionalna)
Datum događaja u ISO formatu: GGGG-MM-DD.
Datum će se možda u budućnosti koristiti radi računanja "koliko vremena do", ali se za sada ne koristi.
Podrazumevana vrednost: danas
text_before
(Opcionalna)
Tekst koji se ispisuje pre konvertovanog vremena.
Podrazumevana vrednost: "${time} ${tz} je "
text_after
(Opcionalna)
Tekst koji se ispisuje nakon konvertovanog vremena.
Podrazumevana vrednost: "."


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;
}
Ukoliko nije drugačije navedeno, sadržaj ove stranice zaštićen je licencom Creative Commons Attribution-ShareAlike 3.0 License