PowerShell poate face o mulțime de lucruri și, ca orice limbaj de programare, se poate face doar despre orice vrei cu datele. Folosind comanda PowerShell Get-Date
și alte tehnici, puteți găsi data de astăzi, data de mâine, datele de format și multe altele.
în acest articol, veți afla totul despre date și PowerShell!,
Cuprins
Premise
Pentru a urmări, împreună cu exemple în acest articol, vă rugăm să vă asigurați-vă că aveți următoarele cerințe îndeplinite înainte de timp:
- Windows PowerShell v5 sau mai sus – Chiar dacă utilizați o versiune anterioară, toate exemplele vor mai lucra, probabil, bine.
găsirea datei curente cu PowerShell
una dintre cele mai simple modalități de a descoperi data curentă cu PowerShell este folosindGet-Date
cmdlet. Această comandă afișează data și ora curente așa cum se arată mai jos.,
PS> Get-DateSunday, November 22, 2020 1:25:57 AM
în mod implicit, Get-Date
se pare că numai returnează data și ora curentă, dar, în realitate, este de fapt revenirea mult mai multe informații. Pentru a găsi această conductă de informații de ieșire la Format-List
cmdlet așa cum se arată mai jos.
de asemenea, puteți folosi
Get-Member
cmdlet-ul pentru a găsi toate proprietățile obiectului de funcționareGet-Date | Get-Member -MemberType Properties
, de asemenea,.,
Dacă tu a verifica tipul de obiect Get-Date
se întoarce, veți observa că e un System.DateTime
tip de obiect. Această clasă este ceea ce expune toate proprietățile și metodele diferite pe care le vedeți. Puteți descoperi tipul de obiect folosind Get-Member
sau folosind GetType()
așa cum se arată mai jos.
PS> (Get-Date).GetType().FullNameSystem.DateTime
după ce vedeți toate proprietățile disponibile pe care le aveți la dispoziție, le puteți referi apoi cu notație punct așa cum se arată mai jos.,
PS> (Get-Date).Year2020PS> (Get-Date).DayOfWeekSundayPS> (Get-Date).Month11PS> (Get-Date).DayOfYear327
este notația dot un pic prea” devvy ” pentru tine? Dacă da, puteți utiliza și parametrul DisplayHint
pentru a obține același rezultat.
folosind Get-Date
este cel mai simplu mod de a găsi data curentă și diverse atribute, dar puteți face mult mai mult!
Data aritmetică cu PowerShell
Să presupunem că trebuie să știți data și/sau ora unui anumit număr de zile, ani sau minute în trecut sau în viitor. Puteți găsi aceste informații folosind metode.,
Utilizarea DateTime Metode
System.DateTime
obiect care Get-Date
returnare a diverse metode pe care le pot invoca pentru a adăuga sau elimina porțiuni de timp. Dacă executați Get-Date | Get-Member
, veți vedea diferite metode care încep cu Add
.
AddDays Method datetime AddDays(double value)AddHours Method datetime AddHours(double value)AddMilliseconds Method datetime AddMilliseconds(double value)AddMinutes Method datetime AddMinutes(double value)AddMonths Method datetime AddMonths(int months)AddSeconds Method datetime AddSeconds(double value)AddTicks Method datetime AddTicks(long value)AddYears Method datetime AddYears(int value)
puteți apela fiecare dintre aceste metode pentru a găsi o dată/oră în viitor sau în trecut. Mai jos veți vedea câteva exemple de invocare a fiecăreia dintre aceste metode și de ieșire a acestora.,ce se întâmplă dacă ai vrut să știi diferența dintre două date; nu doar adăugarea unui anumit număr de bucăți de timp? O modalitate de a face acest lucru este de a utiliza New-Timespan
cmdlet. New-Timespan
cmdlet generează TimeSpan
obiecte care reprezintă data/ora diferențe sau deschideri.
Utilizare New-TimeSpan
cmdlet prin furnizarea de un Start
și End
data/ora ca parametri., De exemplu, dacă doriți să găsiți diferența între 23 Noiembrie 2020 la miezul nopții până la 31 decembrie 2020 la miezul nopții, puteți utiliza următorul fragment de cod.
folosindTimeSpan
obiecte, puteți găsi diferențele de dată / oră în aproape orice creștere doriți.
compararea datelor
nu numai că puteți găsi diferențe în date și ore, dar le puteți compara și folosind operatorii standard PowerShell. PowerShell știe când o dată este „mai mică decât „(mai devreme decât) sau „mai mare decât” (mai târziu decât) o altă dată.,
Pentru a compara datele, pur și simplu a crea două DateTime
obiecte folosind Get-Date
sau poate prin turnare siruri de caractere cu și apoi folosind standard PowerShell operatorii, cum ar fi
lt
sau gt
.
puteți vedea un exemplu simplu de comparare a datelor de mai jos.
#Declaring the datePS> $Date1 = (Get-Date -Month 11 -Day 14 -Year 2020)PS> $Date2 = Get-DatePS> $Date1 -lt $Date2True
conversia (turnare) siruri de caractere pentru obiecte DateTime
PowerShell poate afișa, de asemenea, datele în diferite formate., De exemplu, să presupunem că aveți un fișier CSV sau o foaie de calcul cu diferite date definite în formatul pe care îl vedeți mai jos în coloana date_time_utc
. Formatul este în prezent YYYY-MM-DDThh:mm:ss.0000000Z
.
doriți să analizați acest fișier și să găsiți toate rândurile cu o dată de șapte zile sau mai mare.
PowerShell, implicit, nu știe că 2020-09-07T13:35:08.4780000Z
este o dată și timp; se crede că e vorba de un simplu șir de caractere., Pentru a face PowerShell înțelege, trebuie mai întâi să-l convertească la un DateTime
obiect ca Get-Date
se întoarce.
Pentru a arunca un șir de caractere de la un DateTime
obiect, prefață șir (sau variabilă) cu . Când faceți acest lucru, PowerShell încearcă să interpreteze șirul ca dată și oră, apoi vă oferă toate proprietățile și metodele disponibile pentru acest tip de obiect.,
PS> $Date = "2020-09-07T13:35:08.4780000Z"PS> $DateMonday, September 07, 2020 1:35:08 PM
formatarea datei PowerShell
acum că sunteți la curent cu metodele de bază de utilizare a datelor, este timpul să aprofundați mai mult subiectul. Să ne jucăm un pic mai mult folosind diferite formate pentru a afișa datele.
ori de câte ori rula Get-Date
, veți vedea o ieșire ca Monday, September 07, 2020 1:35:08 PM
. Această ieșire este de fapt un obiect DateTime
cu proprietăți și metode; nu un șir simplu., Dar, puteți converti acest obiect DateTime
într-un șir și îl puteți reprezenta diferit folosind diferite metode de formatare a datei.o modalitate de a schimba modul în care este afișat un obiect DateTime
este folosind metode pe obiectul DateTime
., DateTime
obiect are patru metode pe care le puteți folosi pentru a schimba formatarea:
ToLongDateString()
ToShortDateString()
ToLongTimeString()
ToShortTimeString()
puteți vedea un exemplu de utilizare a ToShortDateString()
și ToShortTimeString()
metodele de mai jos.,
PS> $Date = $DatePS> $date.ToShortDateString() + " " + $date.ToShortTimeString()9/7/2020 7:05 PM
Parametrul Format
O modalitate de a schimba formatul de dată de un DateTime
object este folosind Get-Date
pentru a genera obiect și Format
parametru pentru a schimba formatul. Parametrul Format
acceptă un șir de caractere fiecare reprezentând modul în care ar trebui să arate un șir de date/oră.
puteți vedea câteva exemple de caractere pe care le puteți utiliza cu parametrul Format
.,
a Verifica afară de documentația Microsoft pentru o defalcare completă a toate caracterele pe care le puteți utiliza cu
Format
parametru.
Veți vedea cât de repede puteți utiliza Format
parametru, Get-Date
nu mai revine un DateTime
obiect dar acum siruri de caractere un șir de caractere.,
PS> (Get-Date -Format D).GetType().FullNameSystem.String
De UFormat Parametrul
Similar cu Format
parametru, aveți, de asemenea, un UFormat
parametru cu Get-Date
cmdlet. Parametrul UFormat
vă permite să definiți formate de date utilizând formatarea datei Unix.
UFormat
parametru este similar cu Format
parametru în care puteți combina data format caractere pentru a schimba modul în care data este returnat ca un șir de caractere. De exemplu, încercați următoarele formate și vedeți ce s-a returnat.,
PS> Get-Date -UFormat %APS> Get-Date -UFormat %bPS> Get-Date -UFormat %B
de asemenea, puteți combina aceste caractere de format de dată. Fragmentul de cod de mai jos foloseste d
, m
, și Y
caractere pentru a reveni la data în formatul dd-mm-yyyy and
foloseste r
personaj să se întoarcă timp de 12 ore format folosind fusul orar t
caracter.
PS> Get-Date -UFormat "%d-%m-%Y %r %Z"22-11-2020 06:10:55 PM +05
a Verifica afară de documentația Microsoft pentru o defalcare completă a toate caracterele pe care le puteți utiliza cu UFormat
parametru.
Lasă un răspuns