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.
date
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.
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