date (Unix)
A Unix date
parancsa kiírja az időt és a dátumot. Csak egy adminisztrátor jogosult arra, hogy a rendszer időt megváltoztassa.
Használata
[szerkesztés]Ha a parancsot opciók, argumentumok nélkül használjuk, akkor ez az aktuális időt és dátumot írja ki a képernyőre. Megjelenik az aktuális nap neve, a hónap neve, a nap, ez után az idő, óra, perc és másodperc kettősponttal elválasztva, utána az időzóna és az év.
$date Fri Jul 27 14:12:06 EDT 2007
Formatálás
[szerkesztés]Ha a kiírás alakját akarjuk megváltoztatni akkor a + segítségével opciókat lehet hozzáadni.
Használata | Leírása | Értéke/Példa |
---|---|---|
Nap | ||
%a | a hét napja rövidítve | sze |
%A | a hét napja teljesen | szerda |
%d | a hónap napja (dd), zéró hozzáadva | 27 |
%e | a hónap napja (dd) | 27 |
%j | az év napja, nullával kezdődik | 000-366 |
%u | a hét napja hétfővel (1) kezdődően | 3 |
%w | a hét napja vasárnappal (0) kezdődően, i.e. smtwtfs | 3 |
Hét | ||
%U | a hét száma, első nap a Vasárnap | 0–53 |
%W | a hét száma, első nap a Hétfő | 0–53 |
%V | az év melyik hete | 0–53 |
Hónap | ||
%m | mm month | 11 |
%h | Mon | nov |
%b | Mon, locale's abbreviated | nov |
%B | locale's full month, variable length | november |
Év | ||
%y | yy two digit year | 00–99 |
%Y | ccyy year | 2024 |
%g | 2-digit year corresponding to the %V week number | |
%G | 4-digit year corresponding to the %V week number | |
Század | ||
%C | cc század | 00–99 |
Dátum | ||
%D | mm/dd/yy | 11/27/24 |
%x | helyi dátum megjelenítés (mm/dd/yy) | 11/27/2024 |
%F | %Y-%m-%d | |
Óra | ||
%l (kicsi L) | óra (12 órás idő) | 2 |
%I (Nagy I) | óra (12 órás idő), zéró elöl | 02 |
%k | óra (24 órás idő) | 2 |
%H | óra (24 órás idő), zéró elöl | 02 |
%p | AM vagy PM | AM |
%P | am vagy pm | am |
Percek | ||
%M | MM percek | 26 |
Másodpercek | ||
%s | másodpercek 00:00:00 1970-01-01 UTC-tól | 1732674361 |
%S | SS másodpercek | 00–60 (The 60 is necessary to accommodate a leap second) |
%N | nanoszekundumok | 000000000–999999999 |
Idő | ||
%r | óra, perc, másodperc (12 órás idő) | 02:26:01 AM |
%R | óra, perc, másodperc (24 órás idő) | hh:mm e.g. 02:26 |
%T | óra, perc, másodperc (24 órás idő) | 02:26:01 |
%X | helyi idő kiíratása (%H:%M:%S) | |
Dátum és idő | ||
%c | helyi idő és dátum | Sat Nov 04 12:02:33 EST 1989 |
Időzóna | ||
%z | -zzzz RFC-822 numerikus stílus | -0500 |
%Z | időzóna betűkkel | EST |
Példák
[szerkesztés]date "+%m/%d/%y" 7/4/06
date "+%Y%m%d" 20060704
az idő átadása egy változónak
START=`date '+%r'` echo $START 03:06:02 PM sleep 5 echo $START 03:06:02 PM
Yesterday egy változó
DATE=$(date -d yesterday +"%Y%m%d") echo $DATE 20060704
Az idő kiírása különböző időzónákban. Az időzóna típusai megtalálhatóak a /usr/share/zoneinfo
OLDTZ=$TZ export TZ=GMT; echo "GMT: `date +\"%F %R (%Z)\"`" GMT: 2008-10-31 12:30 (GMT) export TZ=Europe/Stockholm; echo "Stockholm: `date +\"%F %R (%Z)\"`" Stockholm: 2008-10-31 13:30 (CET) export TZ=Asia/Kuala_Lumpur; echo "Kuala Lumpur: `date +\"%F %R (%Z)\"`" Kuala Lumpur: 2008-10-31 20:30 (MYT) export TZ=US/Central; echo "Dallas: `date +\"%F %R (%Z)\"`" Dallas: 2008-10-31 07:30 (CDT) export TZ=$OLDTZ
Karakterláncban
date +"%Y%m%d" -d sunday 20060709 date +"%Y%m%d" -d last-sunday 20060702 date +"%Y%m%d" -d last-week 20060627 date +"%Y%m%d" -d last-month 20060604 date +"%Y%m%d" -d last-year 20050704 date +"%Y%m%d" -d next-week 20060711 date +"%Y%m%d" -d next-month 20060804 date +"%Y%m%d" -d next-year 20070704
Az idő kiírása másodpercben 1970-01-01 -től (Unix korszak):
date +"%s" -d "Fri Apr 24 13:14:39 CDT 2009" 1240596879
Unix korszak időt átalakítani olvasható alakba:
date -d "UTC 1970-01-01 1240596879 secs" Fri Apr 24 13:14:39 CDT 2009
Vagy:
date -ud @1000000000 Sun Sep 9 01:46:40 UTC 2001