Date (Unix)

A Unix date parancs

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

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

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
%aa hét napja rövidítveszo
%Aa hét napja teljesenszombat
%da hónap napja (dd), zéró hozzáadva07
%ea hónap napja (dd)7
%jaz év napja, nullával kezdődik000-366
%ua hét napja hétfővel (1) kezdődően6
%wa hét napja vasárnappal (0) kezdődően, i.e. smtwtfs6
Hét
%Ua hét száma, első nap a Vasárnap0–53
%Wa hét száma, első nap a Hétfő0–53
%Vaz év melyik hete0–53
Hónap
%mmm month11
%hMonnov
%bMon, locale's abbreviatednov
%Blocale's full month, variable lengthnovember
Év
%yyy two digit year00–99
%Yccyy year2026
%g2-digit year corresponding to the %V week number
%G4-digit year corresponding to the %V week number
Század
%Ccc század00–99
Dátum
%Dmm/dd/yy11/7/26
%xhelyi dátum megjelenítés (mm/dd/yy)11/7/2026
%F%Y-%m-%d
Óra
%l (kicsi L)óra (12 órás idő)6
%I (Nagy I)óra (12 órás idő), zéró elöl06
%kóra (24 órás idő)6
%Hóra (24 órás idő), zéró elöl06
%pAM vagy PMAM
%Pam vagy pmam
Percek
%MMM percek31
Másodpercek
%smásodpercek 00:00:00 1970-01-01 UTC-tól1794033091
%SSS másodpercek00–60
(The 60 is necessary to accommodate a leap second)
%Nnanoszekundumok000000000–999999999
Idő
%róra, perc, másodperc (12 órás idő)06:31:31 AM
%Róra, perc, másodperc (24 órás idő)hh:mm e.g. 06:31
%Tóra, perc, másodperc (24 órás idő)06:31:31
%Xhelyi idő kiíratása (%H:%M:%S)
Dátum és idő
%chelyi idő és dátumSat Nov 04 12:02:33 EST 1989
Időzóna
%z-zzzz RFC-822 numerikus stílus-0500
%Zidőzóna betűkkelEST

Példák

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

Kapcsolódó szócikkek