Condividi tramite


Set-Date

Cambia l'ora di sistema nel computer in un'ora specificata dall'utente.

Sintassi

Set-Date
   [-Date] <DateTime>
   [-DisplayHint <DisplayHintType>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Date
   [-Adjust] <TimeSpan>
   [-DisplayHint <DisplayHintType>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Descrizione

Il Set-Date cmdlet modifica la data e l'ora di sistema nel computer in una data e un'ora specificate.

È possibile specificare una nuova data e/o ora digitando una stringa o passando un oggetto DateTime o TimeSpan a Set-Date. Per specificare una nuova data o ora, usare il parametro Date . Per specificare un intervallo di modifica, usare il parametro Adjust .

È necessario disporre dei diritti amministrativi per modificare la data e l'ora del sistema. In Windows avviare PowerShell con l'opzione Esegui come amministratore .

Esempio

Esempio 1: Aggiungere tre giorni alla data di sistema

Questo comando aggiunge tre giorni alla data di sistema corrente. Non influisce sul tempo. Il comando usa il parametro Date per specificare la data.

Il Get-Date cmdlet restituisce la data corrente come oggetto DateTime . Il metodo AddDays dell'oggetto DateTime aggiunge un numero specificato di giorni (3) all'oggetto DateTime corrente.

Set-Date -Date (Get-Date).AddDays(3)

Esempio 2: Impostare il clock di sistema indietro di 10 minuti

In questo esempio viene impostato il tempo di sistema corrente di 10 minuti.

Il parametro Adjust consente di specificare un intervallo di modifica (meno dieci minuti) nel formato ora standard per le impostazioni locali.

Il parametro DisplayHint indica a PowerShell di visualizzare solo l'ora, ma non influisce sull'oggetto DateTime restituito Set-Date .

Set-Date -Adjust -0:10:0 -DisplayHint Time

Esempio 3: Impostare la data e l'ora su un valore di variabile

Questi comandi modificano la data e l'ora di sistema nel computer locale in base alla data e all'ora salvate nella variabile $T. Il primo comando ottiene la data e la archivia in $T.

Il secondo comando usa il parametro Date per passare l'oggetto DateTime nel $T Set-Date cmdlet .

$T = Get-Date
Set-Date -Date $T

Esempio 4: Aggiungere 90 minuti all'orologio di sistema

Questi comandi spostano l'ora di sistema nel computer locale in avanti di 90 minuti.

Il primo comando usa il New-TimeSpan cmdlet per creare un oggetto TimeSpan con un intervallo di 90 minuti e lo salva nella $90mins variabile.

Il secondo comando usa il parametro Adjust di Set-Date per regolare la data in base al valore dell'oggetto TimeSpan nella $90mins variabile.

$90mins = New-TimeSpan -Minutes 90
Set-Date -Adjust $90mins

5: Passare a una data e un'ora specifiche

Nell'esempio seguente la data e l'ora vengono impostate su un valore specifico.

PS> Get-Date

Monday, June 10, 2024 2:05:48 PM

PS> Set-Date '6/11/2024 2:05:48 PM'

Tuesday, June 11, 2024 2:05:48 PM

Parametri

-Adjust

Specifica il valore per il quale questo cmdlet aggiunge o sottrae dalla data e dall'ora correnti. È possibile digitare una regolazione nel formato di data e ora standard per le impostazioni locali oppure usare il parametro Adjust per passare un oggetto TimeSpan da New-TimeSpan a Set-Date.

Tipo:TimeSpan
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Date

Cambia la data e l'ora nei valori specificati. È possibile digitare una nuova data nel formato di data breve e un'ora nel formato di ora standard per le impostazioni locali correnti. In alternativa, è possibile passare un oggetto DateTime da Get-Date.

Se si specifica una data, ma non un'ora, Set-Date l'ora viene modificata a mezzanotte nella data specificata. Se si specifica solo un'ora, la data non viene modificata.

Tipo:DateTime
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-DisplayHint

Specifica gli elementi della data e dell'ora visualizzati. I valori validi per questo parametro sono:

  • Date : visualizza solo la data.
  • Time - visualizza solo l'ora.
  • DateTime : visualizza la data e l'ora.

Questo parametro ha effetto solo sulla visualizzazione. Non influisce sull'oggetto DateTime che Get-Date recupera.

Tipo:DisplayHintType
Valori accettati:Date, Time, DateTime
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

DateTime

È possibile inviare tramite pipe una data a questo cmdlet.

Output

DateTime

Questo cmdlet restituisce un oggetto che rappresenta la data impostata.

Note

  • Usare questo cmdlet con cautela quando si modifica la data e l'ora nel computer. potrebbe impedire al computer di ricevere gli aggiornamenti e gli eventi a livello di sistema attivati da una data o un'ora. Usare i parametri WhatIf e Confirm per evitare errori.
  • È possibile usare metodi .NET standard con gli oggetti DateTime e TimeSpan usati con Set-Date, ad esempio AddDays, AddMonths e FromFileTime. Per altre informazioni, vedere Metodi DateTime e metodi TimeSpan in .NET SDK.