【问题标题】:How to add end date (next 5 business day)如何添加结束日期(接下来的 5 个工作日)
【发布时间】:2022-11-24 04:42:25
【问题描述】:

我想知道是否可以添加仅计算工作日(星期几)的结束日期。

$ReportDate = (Get-Date).toString('MMMM dd, yyyy')
$EndDate = (Get-Date).adddays(5).toString('MMMM dd, yyyy') # i dont know how or if it is possible to count only business day

【问题讨论】:

  • 严格基于星期几的解决方案是否足够:如果您还需要假期意识,事情就会变得更加困难。
  • 5 个工作日始终是一个完整的星期。或者?因此:.AddWeeks(1)

标签: powershell


【解决方案1】:

DateTime 对象有 .DayOfWeek,它是一个枚举。

将 5 天周扩展为 7 天周应该最适合整数除法。看看[Math]::DivRem()

这基本上是将 5 进制周期映射到 7 进制周期。换句话说,与将八进制数转换为十进制数没有太大区别。

同样的方法也适用。整数除法 ([Math]::DivRem()) 应该有所帮助,再加上模数(“%”运算符)。

PS 中的枚举值可以使用 .value__ 访问,这是两个下划线,它将 DayOfWeek 的周日到周六枚举转换为 0 到 6 的数字范围。

当然,仔细应用 switch 语句也应该有所帮助。他们只是更啰嗦。

【讨论】:

    猜你喜欢
    • 2013-06-26
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    • 2019-10-24
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    相关资源
    最近更新 更多