Polecenie daty w systemie Linux służy do wyświetlania daty, godziny, strefy czasowej itp. Służy również do ustawiania daty i godziny w systemie Linux. Generalnie służy do wyświetlania daty w różnych formatach i obliczania dat w czasie.
Składnia:
date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Opcje
Poniżej przedstawiono kilka przydatnych opcji wiersza poleceń polecenia date:
-d, --date=ŁAŃCUCH: Służy do wyświetlania czasu opisanego przez STRING.
--odpluskwić: Służy do opisywania przeanalizowanej daty i ostrzegania o kontrowersyjnym użyciu stderr.
-f, --file=PLIK DATA: Działa podobnie do opcji „--date”.
-I[FMT], --iso-8601[=FMT]: Służy do wyświetlania daty/godziny w formacie ISO 8601.
-R, --rfc-e-mail: Służy do wyświetlania daty i godziny w formacie RFC 5322. Na przykład poniedziałek, 14 sierpnia 2006 02:34:56 -0600.
--rfc-3339=FMT: Służy do wyświetlania daty/godziny w formacie RFC 3339.
-r, --reference=PLIK: Służy do wyświetlenia czasu poprzedniej modyfikacji PLIKU.
-s, --set=ŁAŃCUCH: Służy do ustawienia czasu opisanego przez STRING.
-u, --utc, --universal: Służy do wyświetlania lub ustawiania czasu UTC.
--pomoc: Służy do wyświetlania instrukcji pomocy.
--wersja: Wyświetla informacje o wersji.
Opcje formatowania
%A: Służy do wyświetlania skróconej nazwy dnia tygodnia (np. Niedziela)
%A: Służy do wyświetlania pełnej nazwy dnia tygodnia (np. niedziela)
%B: służy do wyświetlania skróconej nazwy miesiąca (np. styczeń)
%B: Służy do wyświetlania pełnej nazwy miesiąca (np. styczeń)
%C: Służy do wyświetlania daty i godziny (np. czw. 3 marca 23:05:25 2005 r.)
%C: Służy do wyświetlania stulecia; jak %Y, z wyjątkiem pominięcia dwóch ostatnich cyfr (np. 20)
%D: Służy do wyświetlania dnia miesiąca (np. 01)
%D: Służy do wyświetlania daty; tak samo jak %m/%d/%y
%To jest: Służy do wyświetlania dnia miesiąca, z dopełnieniem spacji; tak samo jak %_d
%F: Służy do wyświetlania pełnej daty; tak samo jak %Y-%m-%d
%G: Służy do wyświetlania dwóch ostatnich cyfr roku numeru tygodnia ISO (patrz %G)
%G: Służy do wyświetlania roku numeru tygodnia ISO (patrz %V); zwykle przydatne tylko z %V.
%H: Działa podobnie do opcji '%b'.
%H: Jest używany przez godzinę (00..23)
%I: Jest używany przez godzinę (01..12)
%J: Jest używany do oznaczania dnia roku (001..366)
%k: Jest używany do oznaczania godziny, z dopełnieniem spacji ( 0..23); tak samo jak %_H
%l: Jest używany do oznaczania godziny, z dopełnieniem spacji ( 1..12); tak samo jak %_I
%M: Jest używany przez miesiąc (01..12)
%M: Jest używany dla minut (00..59)
%N: Jest używany w nowej linii
%N: jest używany dla nanosekund (000000000..999999999)
%P: Służy do przekazywania odpowiednika AM lub PM; puste, jeśli nie jest znane
%P: Jest podobna do opcji „%p”, ale jest przekazywana małymi literami.
Nick Pulos Czarna błyskawica
%Q: Służy do wyświetlania kwartału roku (1..4)
%R: Służy do wyświetlania czasu w formacie 12-godzinnym (np. 23:11:04).
%R: Służy do wyświetlania czasu 24-godzinnego w godzinie i minucie; tak samo jak %H:%M
%S: służy do wyświetlania sekund od 1970-01-01 00:00:00 UTC
%S: służy do wyświetlania drugiego (00..60)
%T: Służy do opcji zakładki.
%T: służy do wyświetlania czasu; tak samo jak %H:%M:%S
%W: Jest używany do oznaczania dnia tygodnia (1..7); 1 to poniedziałek
%W: Używany do określenia numeru tygodnia w roku, liczy się niedziela jako pierwszy dzień tygodnia (00..53)
%W: Jest używany do numeru tygodnia ISO, liczy się poniedziałek jako pierwszy dzień tygodnia (01..53)
%w: Służy do oznaczania dnia tygodnia (0..6); 0 to niedziela
%W: Używany do określenia numeru tygodnia w roku. Za pierwszy dzień tygodnia uznaje się poniedziałek (00..53)
%X: Służy do reprezentacji daty (np. 31.12.99)
%X: Służy do reprezentacji czasu (np. 23:13:48)
%I: Jest używany w przypadku dwóch ostatnich cyfr roku (00..99)
%I: Używany jest przez rok
%z: Jest używany dla numerycznej strefy czasowej +hh:mm (np. -0400)
%:z: Jest używany dla numerycznej strefy czasowej +hh:mm (np. -04:00)
%::z: Jest używany dla numerycznej strefy czasowej +hh:mm:ss (np. -04:00:00)
%:::z: Służy do numerycznej strefy czasowej z „:” z wymaganą precyzją (np. -04, +05:30)
%Z: Służy do alfabetycznego skrótu strefy czasowej (np. EDT)
Przykłady polecenia daty
Zobaczmy następujące przykłady polecenia date:
- Jak używać polecenia daty
- Formatowanie daty
- Ciągi dat
- Zastępowanie strefy czasowej
- Polecenie daty jako konwerter epoki
- Wyświetla czas ostatniej modyfikacji pliku
- Ustaw datę i godzinę systemową
Jak używać polecenia daty
Polecenie date jest podstawowym narzędziem i można go użyć, wykonując polecenie bez żadnych argumentów. Wyświetli aktualną datę i godzinę. Rozważ poniższe polecenie:
date
Powyższe polecenie wyświetli aktualną datę i godzinę systemu. Rozważ poniższe dane wyjściowe:
Formatowanie daty
Datę możemy wyświetlić w wybranym przez nas formacie. Istnieje kilka opcji wyświetlania daty w określonym formacie. Na powyższej liście opcji formatowania można zobaczyć różne formaty daty. Rozważ poniższe polecenia:
date '%a %d-%m-%y' date +'%A %d-%m-%y' date +'%b %d-%m-%y' date +'%B %d-%m-%y' date +'%c %d-%m-%y' date +'%C %d-%m-%y'
Z powyższych poleceń data będzie wyświetlana w różnych formatach. Rozważ poniższe dane wyjściowe:
Podobnie jak w przypadku powyższych poleceń, dostępne są inne opcje. Zobacz pełną listę powyższych opcji formatowania.
Ciągi dat
Datę możemy określić w różnych ciągach dat. Opcja „-d” służy do operowania na określonej dacie. Rozważ poniższe polecenie:
date -d '2020-06-06 12:10:53'
Z powyższego polecenia mamy określoną datę w innym formacie. Wyświetli opis konkretnej daty i godziny. Rozważ poniższe dane wyjściowe:
Możemy również użyć niestandardowego formatowania w następujący sposób:
date -d '06 jun 2020' +'%A, %d %B %Y'
Powyższe polecenie wyświetli datę w podanym formacie. Rozważ poniższe dane wyjściowe:
Możemy także przekazywać ciągi znaków takie jak „wczoraj”, „poniedziałek”, „ostatni poniedziałek”, „następny poniedziałek”, „w przyszłym miesiącu”, „w przyszłym roku” i wiele innych.
Rozważ poniższe polecenia:
date -d now date -d yesterday date -d tomorrow date -d 'next monday' date -d 'last monday'
Powyższe polecenia wyświetlą odpowiednio daty. Rozważ poniższe dane wyjściowe:
Zastępowanie strefy czasowej
Domyślnie polecenie date wyświetla czas zgodnie z bieżącą strefą czasową. Ale możemy to zmienić, ustawiając Zmienna środowiskowa „TZ”. Domyślna wartość zmiennej „TZ” jest przechowywana w pliku „/etc/localtime”. Po zmianie wartości zmiennej środowiskowej możemy wyświetlić czas z różnych stref czasowych. Rozważ poniższe polecenia:
TZ='Australia/Melbourne' date TZ=+5:30 date
Powyższe polecenia wyświetlą czas według podanych stref czasowych. Rozważ poniższe dane wyjściowe:
Polecenie daty jako konwerter epoki
Polecenie date może być także użyte do wyświetlenia czasu epoki. Czas epoki (czas uniksowy, znacznik czasu uniksowy lub czas POSIX) to czas (w sekundach), który upłynął od 1 stycznia 1970 r.
Aby wyświetlić czas od epoki do daty bieżącej, wykonaj polecenie z opcją „%s” w następujący sposób:
date +%s
Powyższe polecenie wyświetli czas, który upłynął od czasu epoki. Rozważ poniższe dane wyjściowe:
Aby przekonwertować godzinę na bieżącą datę, poprzedź sekundy znakiem „@”. Rozważ poniższe polecenie:
date -d @122222222
Powyższe polecenie przekonwertuje czas (w sekundach) na format czytelny dla człowieka. Rozważ poniższe dane wyjściowe:
Wyświetla czas ostatniej modyfikacji pliku
Opcja „-r” służy do wyświetlenia czasu ostatniej modyfikacji pliku. Przykładowo, aby wyświetlić czas ostatniej modyfikacji pliku „Demo1.txt”, wykonaj następującą komendę:
Java analizuje ciąg znaków na int
date -r Demo1.txt
Powyższe polecenie wyświetli czas modyfikacji danego pliku. Rozważ poniższe dane wyjściowe:
Ustaw datę i godzinę systemową
Godzinę i datę systemową możemy ustawić za pomocą polecenia date. Nie zaleca się jednak ustawiania daty i godziny systemowej za pomocą polecenia date. Ponieważ zegar systemowy Linuksa jest synchronizowany przy użyciu usług sytemd-timesyncd lub ntp.
Aby ustawić czas za pomocą polecenia daty, użyj opcji „--set= czas”. Na przykład, jeśli chcemy ustawić datę i godzinę na „02:15, 06 czerwca 2020 r.”, wykonaj polecenie w następujący sposób:
date --set='20200606 22:15'
Powyższe polecenie ustawi czas zgodnie z określonymi ustawieniami. Rozważ poniższe dane wyjściowe: