Come convertire una stringa in Datetime in PowerShell

  1. Usa ParseExact per convertire una stringa in DateTime in PowerShell
  2. Usa la conversione esplicita per convertire una stringa in DateTime in PowerShell
  3. Usa il cmdlet Get-Date per convertire una stringa in DateTime in PowerShell
  4. Usa Parse per convertire una stringa in DateTime in PowerShell
  5. Conclusione
Come convertire una stringa in Datetime in PowerShell

Convertire le rappresentazioni stringa di date e orari in oggetti DateTime è un compito comune nella scrittura di script PowerShell, spesso incontrato quando si trattano dati provenienti da diverse fonti o formati. In questa guida tecnica, esploriamo vari metodi per raggiungere questo obiettivo, ciascuno dei quali offre vantaggi unici.

Dalla precisione del metodo ParseExact alla semplicità della conversione esplicita [DateTime] e alla versatilità del cmdlet Get-Date, copriamo più approcci per adattarsi a scenari e preferenze diverse. Inoltre, ci addentriamo nel potente metodo Parse, fornendo spiegazioni dettagliate, sintassi ed esempi di codice pratici per facilitare una comprensione completa di ciascun metodo.

Usa ParseExact per convertire una stringa in DateTime in PowerShell

Convertire una rappresentazione stringa di una data e di un orario in un oggetto DateTime è un compito comune nella scrittura di script PowerShell, specialmente quando si trattano dati provenienti da varie fonti o formati. Un approccio per realizzare ciò è utilizzare il metodo ParseExact, che consente di specificare il formato esatto della stringa di input, fornendo un maggiore controllo sul processo di conversione.

$dateString = "2024-02-05"
$date = [datetime]::ParseExact($dateString, "yyyy-MM-dd", $null)
$date

Nel nostro frammento di codice PowerShell fornito, stiamo utilizzando il metodo ParseExact per convertire una rappresentazione stringa di una data, "2024-02-05", in un oggetto DateTime. Specificando il formato esatto della stringa di input come "yyyy-MM-dd", garantiamo una conversione precisa, non influenzata dalle impostazioni di data del sistema o da variazioni culturali.

L’oggetto DateTime risultante, memorizzato nella variabile $date, rappresenta con precisione la data analizzata, consentendo un’integrazione senza problemi nelle operazioni successive. Quando stampiamo $date, otteniamo l’output atteso, confermando la conversione avvenuta con successo.

Output:

convertire una stringa in datetime in powershell - output

Usa la conversione esplicita per convertire una stringa in DateTime in PowerShell

Il metodo esplicito [DateTime] in PowerShell è un acceleratore di tipo che consente la conversione diretta di una stringa in un oggetto DateTime. Quando utilizzato, istruisce PowerShell a interpretare la stringa fornita come un valore DateTime senza la necessità di ulteriori istruzioni di parsing o formattazione.

Questo metodo è particolarmente utile quando la stringa di input segue un formato di data standard, come ISO 8601 (ad esempio, "YYYY-MM-DD"), poiché semplifica il processo di conversione e migliora la leggibilità del codice.

$dateString = "2024-02-05"
[DateTime]$date = $dateString
$date

In questo frammento di codice PowerShell fornito, stiamo utilizzando il metodo esplicito [DateTime] per convertire la stringa "2024-02-05" in un oggetto DateTime. Semplicemente assegnando la variabile stringa $dateString alla variabile $date con l’acceleratore di tipo [DateTime], PowerShell converte automaticamente la stringa in un oggetto DateTime.

Quando stampiamo $date, otteniamo l’output atteso, confermando la conversione avvenuta con successo.

Output:

convertire una stringa in datetime in powershell - output

Usa il cmdlet Get-Date per convertire una stringa in DateTime in PowerShell

In PowerShell, il cmdlet Get-Date non serve solo a recuperare la data e l’ora correnti, ma anche a convertire una rappresentazione stringa di una data e di un orario in un oggetto DateTime. Questa flessibilità rende Get-Date uno strumento utile per gestire operazioni relative alla data negli script PowerShell.

Quando viene fornito con un argomento stringa, Get-Date tenta automaticamente di analizzarlo in un oggetto DateTime, rendendolo conveniente per convertire stringhe di data di vari formati in un formato DateTime standardizzato.

$dateString = "2024-02-05"
[DateTime]$date = $dateString
$date

Nel frammento di codice fornito, abbiamo una variabile stringa $dateString contenente la data nel formato "YYYY-MM-DD". Utilizzando il cmdlet Get-Date, convertiamo questa stringa in un oggetto DateTime e la assegnamo alla variabile $date.

Ci affidiamo al cmdlet Get-Date per interpretare automaticamente la stringa $dateString come una data e per analizzarla nell’oggetto DateTime corrispondente.

Output:

convertire una stringa in datetime in powershell - output

Usa Parse per convertire una stringa in DateTime in PowerShell

In PowerShell, il metodo Parse è uno strumento potente per convertire una rappresentazione stringa di una data e di un orario in un oggetto DateTime. Questo metodo fornisce un controllo preciso sul processo di parsing, consentendo all’utente di specificare il formato esatto della stringa di input.

Definendo il formato in modo esplicito, il metodo Parse garantisce una conversione accurata, indipendentemente dalle impostazioni regionali o dalle variazioni culturali del sistema.

$dateString = "2024-02-05"
$date = [datetime]::Parse($dateString)
$date

In questo esempio, dimostriamo come utilizzare il metodo Parse per convertire una rappresentazione stringa di una data in un oggetto DateTime in PowerShell. Invocando il metodo Parse sull’acceleratore di tipo [datetime], analizziamo la stringa di input $dateString e memorizziamo il risultato nella variabile $date.

Output:

convertire una stringa in datetime in powershell - output

Conclusione

PowerShell offre diversi metodi per convertire stringhe in oggetti DateTime, ciascuno pensato per soddisfare diversi requisiti e preferenze. Che tu abbia bisogno di controllo preciso sul formato con ParseExact, semplicità con la conversione esplicita [DateTime], parsing automatico con Get-Date, o controllo dettagliato con Parse, PowerShell fornisce la flessibilità e la funzionalità necessarie per una manipolazione efficiente delle date e degli orari.

Padroneggiando questi metodi e comprendendo le loro sfumature, gli utenti di PowerShell possono semplificare i loro script e gestire efficacemente i compiti legati alle date, migliorando la produttività e garantendo un elaborazione accurata dei dati.

Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Articolo correlato - PowerShell DateTime