每学一种语言都要研究该语言的时间类型,加减问题,Powershell 这边给出了一个命令 "New-TimeSpan" ,用于计算时间差:
(New-TimeSpan $([System.DateTime]::ParseExact("2019-07-13","yyyy-MM-dd",$null)) $([System.DateTime]::Now)).TotalDays
这里我们计算了现在日期到 "2019-07-13" 的时间差,后面的时间减去前面的时间,TotalDays是总共相差的日期数,当然我们也可以获取相差的小时数等:
[DBG]: PS C:\WINDOWS\system32>> New-TimeSpan $([System.DateTime]::ParseExact("2019-07-13","yyyy-MM-dd",$null)) $([System.DateTime]::Now)
Days : 74
Hours : 9
Minutes : 54
Seconds : 37
Milliseconds : 85
Ticks : 64292770855490
TotalDays : 74.4129292308912
TotalHours : 1785.91030154139
TotalMinutes : 107154.618092483
TotalSeconds : 6429277.085549
TotalMilliseconds : 6429277085.549
当然我们也可以这样写:
New-TimeSpan $(Get-Date) $(Get-Date –month 12 -day 31 -year 2006)
New-TimeSpan $(Get-Date) $(Get-Date –month 12 -day 31 -year 2006 -hour 23 -minute 30)
#2013年11月11日加520天
(get-date 2013/11/11) + (New-TimeSpan -day 520)
#现在时间减去448天
(get-date) - (New-TimeSpan -day 448)