Czas i strefy czasowe - wartości testowe
Godziny, które nie istnieją, występują dwa razy albo są zapisane bez strefy. 12 wartości, każda z tym, co psuje, i z tym, co zamiast tego robi poprawna aplikacja.
Wpisuj je po jednej skrótem AltShiftN
w palecie albo weź wszystkie do skryptu poleceniem nkb emit time-zones.
Godzina pominięta przy najbliższej wiosennej zmianie czasu
time-zones/dst-nonexistent- 16 grafemów
- 16 punktów kodowych
- 16 bajtów
- 16 jednostek UTF-16
- Co psuje
- W dniu, w którym Europa Środkowa przestawia zegary do przodu, ta godzina lokalnie nie istnieje. Parsery albo po cichu ją przesuwają, albo padają z surowym błędem.
- Co robi poprawna aplikacja
- Odrzucona z wyjaśnieniem albo przesunięta, a przesunięcie pokazane użytkownikowi.
Godzina powtórzona przy najbliższej jesiennej zmianie czasu
time-zones/dst-ambiguous- 16 grafemów
- 16 punktów kodowych
- 16 bajtów
- 16 jednostek UTF-16
- Co psuje
- W dniu, w którym Europa Środkowa cofa zegary, ta godzina występuje dwa razy. Bez strefy nie da się ustalić, o którą chwilę chodzi.
- Co robi poprawna aplikacja
- Prośba o strefę albo wybrana i podana jedna interpretacja.
Znacznik czasu bez strefy
time-zones/no-offset
2026-09-06T14:32:07
2026-09-06T14:32:07
- 19 grafemów
- 19 punktów kodowych
- 19 bajtów
- 19 jednostek UTF-16
- Co psuje
- Znacznik czasu bez strefy traci sens w chwili, gdy opuszcza jedną maszynę, a zawsze ją opuszcza.
- Co robi poprawna aplikacja
- Odrzucony albo odczytany z założoną strefą podaną obok wartości.
Znacznik czasu z przesunięciem
time-zones/with-offset
2026-09-06T14:32:07+02:00
2026-09-06T14:32:07+02:00
- 25 grafemów
- 25 punktów kodowych
- 25 bajtów
- 25 jednostek UTF-16
- Co psuje
- Poprawna postać. Pole, które ją odrzuca, przyjmuje tylko tę niejednoznaczną.
- Co robi poprawna aplikacja
- Przyjęty i zachowany razem z przesunięciem.
Znacznik czasu w UTC
time-zones/utc-z
2026-09-06T12:32:07Z
2026-09-06T12:32:07Z
- 20 grafemów
- 20 punktów kodowych
- 20 bajtów
- 20 jednostek UTF-16
- Co psuje
- Ta sama chwila zapisana w postaci uniwersalnej. Zapisanie jej jako czasu lokalnego gubi gdzieś dwie godziny.
- Co robi poprawna aplikacja
- Przyjęty i przeliczany do wyświetlania, a nie zapisany jak czas lokalny.
Data i godzina tak, jak wpisują je ludzie
time-zones/local-format
06.09.202614:32
06.09.2026 14:32
- 16 grafemów
- 16 punktów kodowych
- 16 bajtów
- 16 jednostek UTF-16
- Co psuje
- Postać, którą ludzie naprawdę wpisują. Pole przyjmujące tylko międzynarodową odrzuca każdego człowieka.
- Co robi poprawna aplikacja
- Przyjęta z pokazaną oczekiwaną postacią albo przyjmowane obie.
Północ zapisana jako 24:00
time-zones/midnight-24
24:00
24:00
- 5 grafemów
- 5 punktów kodowych
- 5 bajtów
- 5 jednostek UTF-16
- Co psuje
- Północ na końcu dnia: poprawna w zapisie międzynarodowym i odrzucana przez większość parserów.
- Co robi poprawna aplikacja
- Przyjęta i zamieniona na godzinę zero następnego dnia albo odrzucona z komunikatem.
Sekunda przestępna
time-zones/leap-second
2026-06-30T23:59:60Z
2026-06-30T23:59:60Z
- 20 grafemów
- 20 punktów kodowych
- 20 bajtów
- 20 jednostek UTF-16
- Co psuje
- Sześćdziesiąta pierwsza sekunda istnieje w standardzie i w żadnym popularnym typie daty.
- Co robi poprawna aplikacja
- Odrzucona z komunikatem albo widocznie przycięta, a nie przyjęta i po cichu przesunięta.
Początek epoki Uniksa
time-zones/epoch-zero-time
1970-01-01T00:00:00Z
1970-01-01T00:00:00Z
- 20 grafemów
- 20 punktów kodowych
- 20 bajtów
- 20 jednostek UTF-16
- Co psuje
- Punkt zerowy najczęstszego zapisu znaczników czasu. W wielu interfejsach nie do odróżnienia od „czasu nieustawionego”.
- Co robi poprawna aplikacja
- Wyświetlany jako prawdziwa chwila, różna od pustego pola.
Ostatnia sekunda 2099 roku
time-zones/far-future
2099-12-31T23:59:59Z
2099-12-31T23:59:59Z
- 20 grafemów
- 20 punktów kodowych
- 20 bajtów
- 20 jednostek UTF-16
- Co psuje
- Odległe daty psują reguły przechowywania, harmonogramy i kolumny o węższym zakresie niż interfejs.
- Co robi poprawna aplikacja
- Przyjęta w podanym zakresie, pilnowanym po obu stronach.
Znacznik czasu jedenaście godzin za UTC
time-zones/negative-offset
2026-09-06T14:32:07-11:00
2026-09-06T14:32:07-11:00
- 25 grafemów
- 25 punktów kodowych
- 25 bajtów
- 25 jednostek UTF-16
- Co psuje
- Przesunięcie dalekie od przesunięcia serwera. Sortowanie po czasie lokalnym daje inną kolejność niż sortowanie po chwili.
- Co robi poprawna aplikacja
- Sortowany i porównywany po chwili, a nie po tekście znacznika czasu.
Godzina bez daty
time-zones/time-only
14:32
14:32
- 5 grafemów
- 5 punktów kodowych
- 5 bajtów
- 5 jednostek UTF-16
- Co psuje
- Godzina bez daty. Zapisana z dzisiejszą datą jutro znaczy co innego.
- Co robi poprawna aplikacja
- Zapisana jako pora dnia albo z wyraźną prośbą o datę.