【问题标题】:How to identify a list of dates with a specific day value between 2 dates in powershell如何在powershell中识别两个日期之间具有特定日期值的日期列表
【发布时间】:2020-02-09 15:07:03
【问题描述】:

所以我有这个代码(感谢@reeeky2001)来回答我的其他帖子Trying to find a way to list all friday dates between 2 dates in powershell

$FiscalStart = [datetime]'2019-03-31'
$date2 = Get-Date -Hour 0 -Minute 0 -Second 0
$EvaluateDates = 1..($date2 - $FiscalStart).Days | % {$($FiscalStart).AddDays($_)} | ? {$_.DayOfWeek -eq 'monday'}
$EvaluateDates

假设我们在 2020 年 2 月 9 日。如果我运行以下代码,最后一个星期一将是 2020 年 2 月 3 日。我怎么能排除最后一个日期,所以下一个星期一(2020 年 2 月 10 日)是在将来?我怎么能排除下一个星期一将在未来的任何日期?假设这段代码可以在一周中的任何一天运行......

【问题讨论】:

  • 为什么要排除?为什么不只是($date2 - $FiscalStart).Days -> (($date2 - $FiscalStart).Days + 1)
  • 宾果游戏 :) 谢谢人!与 ($date2 - $FiscalStart).Days - 7) 一起使用
  • 我刚刚在这里回答了一些非常相似的问题:stackoverflow.com/a/60120674/8507473希望对您有所帮助。

标签: list powershell date compare


【解决方案1】:

最后我添加了“-and $_ -lt (get-date)”

$FiscalStart = [datetime]'2019-12-31'
$date2 = Get-Date -Hour 0 -Minute 0 -Second 0
1..($date2 - $FiscalStart).Days | % {($FiscalStart).AddDays($_)} | 
  ? { $_.DayOfWeek -eq 'monday' -and $_ -lt (get-date)}


Monday, January 6, 2020 12:00:00 AM
Monday, January 13, 2020 12:00:00 AM
Monday, January 20, 2020 12:00:00 AM
Monday, January 27, 2020 12:00:00 AM
Monday, February 3, 2020 12:00:00 AM

【讨论】:

    猜你喜欢
    • 2017-04-22
    • 2013-10-07
    • 2015-04-24
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多