Fandom

Wikia Polska

Komentarze0

Snippety: Czas

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Domyślnie czas na Wikii (globalny i lokalny) jest ustawiony na UTC (czas uniwersalny). Mogłoby wystarczyć dodanie parametru +1 hour lub +2 hour do funkcji #time, zależnie od aktualnej strefy czasowej. Jednak nie zawsze chcemy 2 razy na rok zmieniać parametrów na wszystkich szablonach, które używają tej funkcji. Jest pewien sposób na niemal automatyczną (z winy cache zmiany mogą nastąpić nieco później) zmianę strefy czasowej.

W Polsce, jak i w niektórych krajach europejskich daty zmian strefy czasowej przypadają na ostatnią niedzielę marca i ostatnią niedzielę października. Jeśli ktoś zna parametry date w PHP, to domyśli się, że można wyświetlić datę za pomocą parametrów last Sunday of March i last Sunday of October. To samo pojawi się, gdy użyjemy parametrów w #time. W przykładzie użyłem 3-literowych form dni i miesięcy dla skrócenia kodu.

Przykład: Dla roku 2016 daty zmian czas przypadają na 27 marca i na 30 października.

Użyta składnia:

''Dla roku {{#time:Y}} daty zmian czasu przypadają na {{#time:j xg|last Sun of Mar}} i na {{#time:j xg|last Sun of Oct}}.''

To ułatwi nam ustawienie strefy czasowej. Najprostszą metodą na sprawdzenie, jaką aktualnie strefę czasową mamy, jest #ifexpr ze znacznikami czasowymi. Ustalamy, czy aktualnie obowiązuje czas letni.

{{#ifexpr:{{#time:U}}>={{#time:U|last Sun of Mar}} and {{#time:U|last Sun of Oct}}>{{#time:U}}|letni|zimowy}}

Przykład: Aktualnie obowiązuje czas zimowy.

Teraz możemy np. ustawić czas lokalny według strefy czasowej:

{{#time:G:i:s|+{{#ifexpr:{{#time:U}}>={{#time:U|last Sun of Mar}} and {{#time:U|last Sun of Oct}}>{{#time:U}}|2|1}} hour}}

Najlepszym użyciem tej metody, którą ja od jakiegoś czasu używam, jest podpis. Tylko należy pamiętać o podpisywaniu się 3 tyldami. Wystarczy dodać ten kod do podpisu w preferencjach:

{{SUBST:#time: H:i, M j, Y|+{{SUBST:#ifexpr:{{SUBST:#time:U}}>={{SUBST:#time:U|last Sun of Mar}} and {{SUBST:#time:U|last Sun of Oct}}>{{SUBST:#time:U}}|2|1}} hour}} (CE{{SUBST:#ifexpr:{{SUBST:#time:U}}>={{SUBST:#time:U|last Sun of Mar}} and {{SUBST:#time:U|last Sun of Oct}}>{{SUBST:#time:U}}|S|}}T)

Ten kod może mieć szeroki wachlarz zastosowań. Warto przygotować na swojej wiki szablon, by ułatwić innym, mniej doświadczonym użytkownikom, dodawanie kodu.

Więcej w Fandom

Losowa wiki