date
- date – standardowe narzędzie Unix/Linux służące do prezentowania bieżącego czasu systemowego oraz zmiany daty i czasu.
- Obsługuje formatowanie wyjścia według wzorca (
+FORMAT
), parsowanie dat względnych (-d
), tryb UTC (-u
) oraz ustawianie zegara systemowego (-s
, wymaga uprawnień roota). - Dostępne w większości dystrybucji Linuksa, macOS, BSD, a także w środowiskach POSIX‑owych.
Składnia
Dział zatytułowany „Składnia”date [opcje] [+FORMAT]
date [opcje] -s/--set "<data>" # wymaga sudo
- Wywołanie bez argumentów wyświetla bieżącą datę wg lokalnych ustawień.
+FORMAT
pozwala definiować własny układ wyjścia zgodny zstrftime(3)
.- Przy ustawianiu czasu konieczny jest tryb administracyjny lub polecenie
hwclock
dla zegara sprzętowego.
Parametry
Dział zatytułowany „Parametry”Parametr | Opis |
---|---|
+FORMAT | Szablon formatujący wynik (np. "%Y-%m-%d %H:%M:%S" ). |
-u, --utc, --universal | Wyświetla/ustawia czas w UTC. |
-R, --rfc-2822 | Formatuje datę zgodnie z RFC 2822 (np. nagłówki e‑mail). |
-I[=LEVEL] | ISO 8601 (domyślnie data, hours , minutes , seconds ). |
-d, --date="<wartość>" | Wyświetla datę podaną w słownym zapisie (np. "next Fri" ). |
-s, --set="<wartość>" | Ustawia datę/czas systemowy (root). |
--debug | Pokazuje szczegóły parsowania daty (diagnostyka). |
-r <plik> | Zwraca czas ostatniej modyfikacji wskazanego pliku. |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”# Domyślne wyświetlenie daty i czasu lokalnegodate
# Format: RRRR-MM-DD HH:MM:SSdate "+%Y-%m-%d %H:%M:%S"
# Czas UTC w formacie ISO 8601date -u -Iseconds
# Daty względne – kolejny piątekdate -d "next Friday" "+%d.%m.%Y"
# Ustawienie systemowego czasu (wymaga sudo)sudo date -s "2025-08-08 14:00:00"
- Uprawnienia: Do modyfikowania czasu potrzebne są uprawnienia administratora; w systemach z
systemd
preferowane jesttimedatectl
. - Strefy czasowe: Wyświetlanie bazuje na zmiennej środowiskowej
TZ
oraz plikach/usr/share/zoneinfo
. - Zegar sprzętowy: Po zmianie czasu warto zsynchronizować zegar RTC (
hwclock --systohc
).
Najczęściej spotykane błędy i jak je naprawić
Dział zatytułowany „Najczęściej spotykane błędy i jak je naprawić”Błąd / Komunikat | Przyczyna | Rozwiązanie |
---|---|---|
date: invalid date 'foo' | Niepoprawny ciąg w -d /-s | Użyj poprawnego formatu lub cudzysłowów, np. "2025‑08‑08" . |
date: cannot set date: Operation not permitted | Brak uprawnień | Uruchom z sudo lub zaloguj się jako root. |
Niezgodność czasu systemowego i sprzętowego | RTC nie zaktualizowany | Wykonaj sudo hwclock --systohc . |
Linki i źródła
Dział zatytułowany „Linki i źródła”- man date – oficjalna dokumentacja.
- GNU coreutils – date – pełny manual online.
- CheatSheet: date – praktyczne przepisy.