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
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 | ||
| %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 | 10 |
| %e | a hónap napja (dd) | 10 |
| %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 | 09 |
| %h | Mon | szept |
| %b | Mon, locale's abbreviated | szept |
| %B | locale's full month, variable length | szeptember |
| Év | ||
| %y | yy two digit year | 00–99 |
| %Y | ccyy year | 2025 |
| %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 | 09/10/25 |
| %x | helyi dátum megjelenítés (mm/dd/yy) | 09/10/2025 |
| %F | %Y-%m-%d | |
| Óra | ||
| %l (kicsi L) | óra (12 órás idő) | 1 |
| %I (Nagy I) | óra (12 órás idő), zéró elöl | 01 |
| %k | óra (24 órás idő) | 13 |
| %H | óra (24 órás idő), zéró elöl | 13 |
| %p | AM vagy PM | PM |
| %P | am vagy pm | pm |
| Percek | ||
| %M | MM percek | 46 |
| Másodpercek | ||
| %s | másodpercek 00:00:00 1970-01-01 UTC-tól | 1757512004 |
| %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ő) | 01:46:44 PM |
| %R | óra, perc, másodperc (24 órás idő) | hh:mm e.g. 13:46 |
| %T | óra, perc, másodperc (24 órás idő) | 13:46:44 |
| %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
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