< Back

New-TimeSpan

Tue Jan 29, 2019 10:22 pm

NAME New-TimeSpan



SYNOPSIS

Creates a TimeSpan object.





SYNTAX

New-TimeSpan [-Days <Int32>] [-Hours <Int32>] [-Minutes <Int32>] [-Seconds <Int32>] [<CommonParameters>]



New-TimeSpan [[-Start] <DateTime>] [[-End] <DateTime>] [<CommonParameters>]





DESCRIPTION

The New-TimeSpan cmdlet creates a TimeSpan object that represents a time interval. You can use a TimeSpan object to add or subtract time from

DateTime objects.



Without parameters, a New-Timespan command returns a timespan object that represents a time interval of zero.





PARAMETERS

-Days <Int32>

Specifies the days in the time span. The default value is 0.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-End <DateTime>

Specifies the end of a time span. The default value is the current date and time.



Required? false

Position? 1

Default value None

Accept pipeline input? True (ByPropertyName)

Accept wildcard characters? false



-Hours <Int32>

Specifies the hours in the time span. The default value is zero.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-Minutes <Int32>

Specifies the minutes in the time span. The default value is 0.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-Seconds <Int32>

Specifies the length of the time span in seconds. The default value is 0.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-Start <DateTime>

Specifies the start of a time span. Enter a string that represents the date and time, such as "3/15/09" or a DateTime object, such as one from

a Get-Date command. The default value is the current date and time.



You can use Start or its alias, LastWriteTime. The LastWriteTime alias lets you pipe objects that have a LastWriteTime property, such as files

in the file system (System.Io.FileIO), to the Start parameter of New-TimeSpan .



Required? false

Position? 0

Default value None

Accept pipeline input? True (ByPropertyName, ByValue)

Accept wildcard characters? false



<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,

ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer, PipelineVariable, and OutVariable. For more information, see

about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).



INPUTS

System.DateTime

You can pipe a DateTime object that represents that start time to New-TimeSpan .





OUTPUTS

System.TimeSpan

New-TimeSpan returns an object that represents the time span.





NOTES









Example 1: Create a TimeSpan object for a specified duration



PS C:\\>$TimeSpan = New-TimeSpan -Hour 1 -Minute 25



This command creates a TimeSpan object with a duration of 1 hour and 25 minutes and stores it in a variable named $TimeSpan. It displays a

representation of the TimeSpan object.

Example 2: Create a TimeSpan object for a time interval



PS C:\\>new-timespan -end (get-date -year 2010 -month 1 -day 1)



This example creates a new TimeSpan object that represents the interval between the time that the command is run and January 1, 2010.



This command does not require the Start parameter, because the default value of the Start parameter is the current date and time.

Example 3: Get the date 90 days from the current date



PS C:\\>$90days = New-TimeSpan -Days 90

PS C:\\>(Get-Date) + $90days



These commands return the date that is 90 days after the current date.

Example 4: Discover the TimeSpan since a file was updated



PS C:\\>dir $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 PS C:\\># Equivalent to:



PS C:\\>New-TimeSpan -Start (dir $pshome\\en-us\\about_remote.help.txt).lastwritetime



This command tells you how long it has been since the about_remote.help.txt file was last updated. You can use this command format on any file,

and on any other object that has a LastWriteTime property.



This command works because the Start parameter of New-TimeSpan has an alias of LastWriteTime. When you pipe an object that has a LastWriteTime

property to New-TimeSpan , Windows PowerShell uses the value of the LastWriteTime property as the value of the Start parameter.



RELATED LINKS

Online Version: http://go.microsoft.com/fwlink/?LinkId=821837

Get-Date

Set-Date