Get-Date în PowerShell

Control și funcții Windows PowerShell 1.0

Get-Date întoarce data și ora curentă (sau una dată) ca obiect [datetime], pe care îl formatezi cu -Format și îl calculezi cu .AddDays().

Sintaxă
Get-Date [[-Date] <DateTime>] [-Year <Int32>] [-Month <Int32>] [-Day <Int32>] [-Format <String>] [-AsUTC]
Get-Date -UFormat <String>

Ce face Get-Date

Fără parametri, Get-Date întoarce un obiect DateTime cu data și ora curentă, afișat în formatul lung al culturii sistemului. Cu -Date sau cu -Year, -Month, -Day, -Hour, -Minute construiești o altă dată. Obiectul are proprietăți (Year, Month, Day, DayOfWeek, DayOfYear) și metode de calcul: .AddDays(30), .AddMonths(-1), .AddHours(2). Diferența a două date este un TimeSpan, cu .Days, .TotalHours și altele.

-Format primește un format .NET ('dd.MM.yyyy', 'yyyy-MM-dd HH:mm') sau unul dintre formatele speciale FileDate, FileDateTime (din 5.0), utile în nume de fișiere. -UFormat folosește specificatori Unix (%d.%m.%Y). Ambele întorc text, nu o dată: formatezi la final, după ce ai terminat calculele. -AsUTC (din PowerShell 7.1) convertește în ora UTC, iar -UnixTimeSeconds (tot din 7.1) pornește de la un timestamp Unix.

Accelerarea de tip [datetime] convertește un text în dată folosind cultura invariantă: [datetime]'2026-10-25' funcționează pe orice sistem, dar [datetime]'25.10.2026' nu, pentru că ar fi interpretat ca lună/zi/an. Pentru formatul românesc folosește [datetime]::ParseExact('25.10.2026', 'dd.MM.yyyy', $null).

Parametri

Parametru Descriere
-Date Data de pornire (implicit acum). Acceptă și obiecte din pipeline.
-Year / -Month / -Day Înlocuiesc anul, luna, ziua în data rezultată.
-Hour / -Minute / -Second Înlocuiesc ora, minutul, secunda.
-Format Format .NET (dd.MM.yyyy HH:mm) sau FileDate, FileDateTime; întoarce text.
-UFormat Format în stil Unix (%Y-%m-%d); întoarce text.
-DisplayHint Afișează doar Date, doar Time sau DateTime; obiectul rămâne complet.
-AsUTC Convertește rezultatul în UTC (PowerShell 7.1+).
-UnixTimeSeconds Data dată ca secunde de la 1 ianuarie 1970 (PowerShell 7.1+).

Ce returnează

Un obiect System.DateTime; cu -Format sau -UFormat, un String.

Exemple

Exemplul 1: Formatezi o dată în stil românesc

Textul în format ISO e interpretat la fel pe orice sistem; ieșirea are formatul cerut.

Get-Date -Date '2026-10-25 14:30' -Format 'dd.MM.yyyy HH:mm'
Get-Date -Date '2026-10-25' -UFormat '%d.%m.%Y'
Get-Date -Format FileDate

Ieșire în terminal

25.10.2026 14:30
25.10.2026
20261025

Exemplul 2: Scadența unei facturi cu .AddDays()

Calculezi pe obiectul DateTime și formatezi abia la final.

$factura = Get-Date -Year 2026 -Month 10 -Day 25
$scadenta = $factura.AddDays(30)
$scadenta.ToString('dd.MM.yyyy')
$scadenta.DayOfWeek

Ieșire în terminal

24.11.2026
Tuesday

Exemplul 3: Câte zile au trecut între două date

Scăderea a două date dă un TimeSpan; datele se pot și compara cu -gt.

$start = [datetime]'2026-09-15'
$azi = [datetime]'2026-10-25'
($azi - $start).Days
$azi -gt $start

Ieșire în terminal

40
True

Greșeli frecvente

  • Să apelezi .AddDays() pe rezultatul lui Get-Date -Format: e text, nu dată, deci metoda nu există. Calculează întâi, formatează la sfârșit.
  • Să scrii 'MM' când vrei minute: în formatele .NET MM e luna, mm minutul; HH e ora în format 24 de ore, hh în format 12.
  • Să convertești date românești cu [datetime]'25.10.2026': conversia folosește cultura invariantă și eșuează. Folosește [datetime]::ParseExact() sau formatul ISO yyyy-MM-dd.
  • Să compari date ca text ('10.11.2026' -gt '09.12.2026'): comparația e alfabetică. Compară obiecte [datetime].

Comenzi înrudite

  • Variabile și tipuri: Variabilele încep cu $, primesc orice obiect .NET și pot fi legate de un tip ([int], [string], [datetime]); .GetType() arată tipul.
  • Operatori de comparație: PowerShell compară cu -eq, -ne, -gt, -lt, -like, -match, -contains, -in, nu cu = sau >; implicit nu ține cont de majuscule.
  • Get-Member: Arată tipul obiectelor dintr-un pipeline și ce proprietăți și metode au, ca să știi ce poți selecta, filtra sau apela.
  • New-Item: Creează un fișier, un folder sau un link; poate pune și conținut inițial în fișierul nou.