Ugrás a tartalomhoz

date (Unix)

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából
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.

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

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ítvesze
%Aa hét napja teljesenszerda
%da hónap napja (dd), zéró hozzáadva12
%ea hónap napja (dd)12
%jaz év napja, nullával kezdődik000-366
%ua hét napja hétfővel (1) kezdődően3
%wa hét napja vasárnappal (0) kezdődően, i.e. smtwtfs3
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 month08
%hMonaug
%bMon, locale's abbreviatedaug
%Blocale's full month, variable lengthaugusztus
É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/yy08/12/26
%xhelyi dátum megjelenítés (mm/dd/yy)08/12/2026
%F%Y-%m-%d
Óra
%l (kicsi L)óra (12 órás idő)12
%I (Nagy I)óra (12 órás idő), zéró elöl12
%kóra (24 órás idő)0
%Hóra (24 órás idő), zéró elöl00
%pAM vagy PMAM
%Pam vagy pmam
Percek
%MMM percek01
Másodpercek
%smásodpercek 00:00:00 1970-01-01 UTC-tól1786492893
%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ő)12:01:33 AM
%Róra, perc, másodperc (24 órás idő)hh:mm e.g. 00:01
%Tóra, perc, másodperc (24 órás idő)00:01:33
%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
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

[szerkesztés | forrásszöveg szerkesztése]