Ce face date
date afișează data și ora sistemului. Partea cea mai folosită este formatul: după semnul + scrii un șablon cu specificatori precum %Y (anul), %m (luna), %d (ziua), %H:%M:%S (ora). Așa construiești nume de fișiere pentru backup sau ore pentru jurnalele unui script.
Varianta GNU (cea de pe Linux) acceptă și -d / --date, cu care calculezi date relative („tomorrow”, „next friday”, „3 days ago”) sau convertești un timestamp Unix (secunde de la 1 ianuarie 1970) cu -d @număr. Pe macOS și BSD, date are alte opțiuni pentru aceste operații.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
+%F |
Data în format ISO: AAAA-LL-ZZ (echivalent cu %Y-%m-%d). |
+%T |
Ora: HH:MM:SS (echivalent cu %H:%M:%S). |
+%s |
Timestamp-ul Unix (secunde de la 1970-01-01 UTC). |
+%A / +%B |
Numele zilei săptămânii / al lunii, în limba din LC_TIME. |
-d, --date TEXT |
Afișează data descrisă de text în loc de ora curentă (ex. -d tomorrow, -d @1700000000). |
-u, --utc |
Lucrează în UTC, nu în fusul orar local. |
-I, --iso-8601[=timespec] |
Format ISO 8601 (ex. -Iseconds: 2026-10-25T10:30:00+02:00). |
Exemple
Exemplul 1: Formate pentru oameni și pentru scripturi
Același moment, afișat în trei feluri: dată și oră, ISO 8601 și timestamp Unix.
date +"%Y-%m-%d %H:%M:%S"
date -Iseconds
date +%s
Ieșire în terminal
2026-10-25 10:30:00
2026-10-25T10:30:00+02:00
1792917000
Exemplul 2: Nume de fișier de backup cu data zilei
Substituția $(date +%F) pune data curentă în numele arhivei, așa că backup-urile zilnice nu se suprascriu.
tar -czf "backup-$(date +%F).tar.gz" documente/
ls backup-*
Ieșire în terminal
backup-2026-10-25.tar.gz
Exemplul 3: Date relative, timestamp-uri și numele zilei în română
Cu -d (doar în GNU date) aflăm data de vinerea viitoare, convertim un timestamp și vedem în ce zi cade Crăciunul. Pentru numele în română este nevoie ca localizarea ro_RO.UTF-8 să fie instalată.
date -d "next friday" +%F
date -u -d @1700000000 +"%F %T"
LC_TIME=ro_RO.UTF-8 date -d 2026-12-25 +%A
Ieșire în terminal
2026-10-30
2023-11-14 22:13:20
vineri
Greșeli frecvente
- Folosirea caracterului
%direct într-un fișier crontab: acolo%are sens special și trebuie scris\%(ex.date +\%F). - Copierea unui script cu
date -dpe macOS: varianta BSD nu are-dpentru date relative și dă eroare. - Uitarea ghilimelelor când formatul conține spații:
date +%F %Teșuează, corect estedate +"%F %T".
Comenzi înrudite
timedatectl: Afișează și modifică ora sistemului, fusul orar și sincronizarea automată prin NTP, pe sisteme cu systemd.printf: Formatează și afișează date conform unui șablon precis, similar cu funcția printf din C.