如果你需要知道两个日期之间的天数,你可以非常轻松的通过 New-TimeSpan获得:
$startdate = Get-Date $enddate = Get-Date -Date '2014-09-12' $difference = New-TimeSpan -Start $startdate -End $enddate $difference.Days
然而,你可能不只需要知道他们之间有多少天,还需要详细的天数,这里又有一个方法:
$startdate = Get-Date $enddate = Get-Date -Date '2014-09-12' $difference = New-TimeSpan -Start $startdate -End $enddate $days = [Math]::Ceiling($difference.TotalDays)+1 1..$days | ForEach-Object { $startdate $startdate = $startdate.AddDays(1) }
这次,Powershell输出了两个指定日期之间全部的日期。
现在你应该知道准确的时间了(不仅是天数),同时你还可以筛选,例如列出工作日和算出好多个星期天或好多天后你能过节或退休。
这里仅获得你的工作天数:
$startdate = Get-Date $enddate = Get-Date -Date '2014-09-12' $difference = New-TimeSpan -Start $startdate -End $enddate $difference.Days $days = [Math]::Ceiling($difference.TotalDays)+1 1..$days | ForEach-Object { $startdate $startdate = $startdate.AddDays(1) } | Where-Object { $_.DayOfWeek -gt 0 -and $_.DayOfWeek -lt 6} "And this counts the working days:" $startdate = Get-Date $enddate = Get-Date -Date '2014-09-12' $difference = New-TimeSpan -Start $startdate -End $enddate "Days in all: " + $difference.Days $days = [Math]::Ceiling($difference.TotalDays)+1 $workdays = 1..$days | ForEach-Object { $startdate $startdate = $startdate.AddDays(1) } | Where-Object { $_.DayOfWeek -gt 0 -and $_.DayOfWeek -lt 6} | Measure-Object | Select-Object -ExpandProperty Count "Workdays: $workdays"
原文地址:Finding Dates Between Two Dates
本文链接: https://www.pstips.net/finding-dates-between-two-dates.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!