More timespan
Poking further into the timespan object consider this
PS> New-TimeSpan -Days -10
Days : -10
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 0
Ticks : -8640000000000
TotalDays : -10
TotalHours : -240
TotalMinutes : -14400
TotalSeconds : -864000
TotalMilliseconds : –864000000
This is the equivalent of
PS> $ts = New-TimeSpan -Days 10
PS> $ts
Days : 10
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 0
Ticks : 8640000000000
TotalDays : 10
TotalHours : 240
TotalMinutes : 14400
TotalSeconds : 864000
TotalMilliseconds : 864000000
PS> $ts.Negate()
Days : -10
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 0
Ticks : -8640000000000
TotalDays : -10
TotalHours : -240
TotalMinutes : -14400
TotalSeconds : -864000
TotalMilliseconds : –864000000
or even
PS> (New-TimeSpan -Days 10).Add( (New-TimeSpan -Days 10).negate())
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 0
Ticks : 0
TotalDays : 0
TotalHours : 0
TotalMinutes : 0
TotalSeconds : 0
TotalMilliseconds : 0
Timespans do not deal in units greater than days
PS> New-TimeSpan -Days 500
Days : 500
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 0
Ticks : 432000000000000
TotalDays : 500
TotalHours : 12000
TotalMinutes : 720000
TotalSeconds : 43200000
TotalMilliseconds : 43200000000
PS> (Get-Date -Date "1 January 2011") - (Get-Date -Date "1 January 1815")
Days : 71588
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 0
Ticks : 61852032000000000
TotalDays : 71588
TotalHours : 1718112
TotalMinutes : 103086720
TotalSeconds : 6185203200
TotalMilliseconds : 6185203200000