New-TimeSpan

Crea un oggetto TimeSpan.

Sintassi

New-TimeSpan
   [[-Start] <DateTime>]
   [[-End] <DateTime>]
   [<CommonParameters>]
New-TimeSpan
   [-Days <Int32>]
   [-Hours <Int32>]
   [-Minutes <Int32>]
   [-Seconds <Int32>]
   [-Milliseconds <Int32>]
   [<CommonParameters>]

Descrizione

Il New-TimeSpan cmdlet crea un oggetto TimeSpan che rappresenta un intervallo di tempo. È possibile utilizzare un oggetto TimeSpan per aggiungere o sottrarre l'ora dagli oggetti DateTime .

Senza parametri, un New-TimeSpan comando restituisce un oggetto TimeSpan che rappresenta un intervallo di tempo pari a zero.

Esempio

Esempio 1: Creare un oggetto TimeSpan per una durata specificata

Questo comando crea un oggetto TimeSpan con una durata di 1 ora e 25 minuti e la archivia in una variabile denominata $TimeSpan. Visualizza una rappresentazione dell'oggetto TimeSpan .

$TimeSpan = New-TimeSpan -Hours 1 -Minutes 25
$TimeSpan

Days              : 0
Hours             : 1
Minutes           : 25
Seconds           : 0
Milliseconds      : 0
Ticks             : 51000000000
TotalDays         : 0.0590277777777778
TotalHours        : 1.41666666666667
TotalMinutes      : 85
TotalSeconds      : 5100
TotalMilliseconds : 5100000

Esempio 2: Creare un oggetto TimeSpan per un intervallo di tempo

In questo esempio viene creato un nuovo oggetto TimeSpan che rappresenta l'intervallo tra l'esecuzione del comando e il 1° gennaio 2010.

Questo comando non richiede il parametro Start , perché il valore predefinito del parametro Start è la data e l'ora correnti.

New-TimeSpan -End (Get-Date -Year 2010 -Month 1 -Day 1)

Esempio 3: Ottenere la data 90 giorni dalla data corrente

$90days = New-TimeSpan -Days 90
(Get-Date) + $90days

Questi comandi restituiscono una data successiva alla data corrente di 90 giorni.

Esempio 4: Individuare TimeSpan dopo l'aggiornamento di un file

Questo comando indica quanto tempo è trascorso dall'ultimo aggiornamento del file della Guida about_remote . È possibile utilizzare questo formato di comando in qualsiasi file o in qualsiasi altro oggetto con una proprietà LastWriteTime .

Questo comando funziona perché il parametro Start di New-TimeSpan ha un alias di LastWriteTime. Quando si invia tramite pipe un oggetto con una proprietà LastWriteTime a New-TimeSpan, PowerShell usa il valore della proprietà LastWriteTime come valore del parametro Start .

Get-ChildItem $PSHOME\en-us\about_remote.help.txt | New-TimeSpan

Days              : 321
Hours             : 21
Minutes           : 59
Seconds           : 22
Milliseconds      : 312
Ticks             : 278135623127728
TotalDays         : 321.916230471907
TotalHours        : 7725.98953132578
TotalMinutes      : 463559.371879547
TotalSeconds      : 27813562.3127728
TotalMilliseconds : 27813562312.7728

Parametri

-Days

Specifica i giorni nell'intervallo di tempo. Il valore predefinito è 0.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-End

Specifica la fine di un intervallo di tempo. Il valore predefinito è la data e l'ora corrente.

Type:DateTime
Position:1
Default value:Current date and time
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Hours

Specifica le ore nell'intervallo di tempo. Il valore predefinito è 0.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Milliseconds

Specifica la durata dell'intervallo di tempo in millisecondi. Il valore predefinito è 0.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Minutes

Specifica i minuti nell'intervallo di tempo. Il valore predefinito è 0.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Seconds

Specifica la durata dell'intervallo di tempo in secondi. Il valore predefinito è 0.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Start

Specifica l'inizio di un intervallo di tempo. Immettere una stringa che rappresenta la data e l'ora, ad esempio "3/15/09" o un oggetto DateTime , ad esempio uno da un Get-Date comando. Il valore predefinito è la data e l'ora corrente.

È possibile usare Start o il relativo alias, LastWriteTime. L'alias LastWriteTime consente di inviare tramite pipe gli oggetti con una proprietà LastWriteTime, ad esempio i file nel file system [System.Io.FileIO], al parametro Start di New-TimeSpan.

Type:DateTime
Aliases:LastWriteTime
Position:0
Default value:Current date and time
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Input

DateTime

È possibile inviare tramite pipe un oggetto DateTime che rappresenta l'ora di inizio a questo cmdlet.

Output

TimeSpan

Questo cmdlet restituisce un oggetto che rappresenta l'intervallo di tempo.