PowerShell 技能连载 - 计算第几周(第 1 部分)

计算第几周不是一件很容易的事,并且根据文化不同而不同。以下是一个计算任何日期是第几周的方法:

1
2
3
4
5
6
7
8
9
10
# calculate day of week
# adjust calendar specs to your culture

$Date = [DateTime]'2021-12-31'
$CalendarWeekRule = [System.Globalization.CalendarWeekRule]::FirstDay
$FirstDayOfWeek = [System.DayOfWeek]::Monday

$week = [System.Globalization.DateTimeFormatInfo]::CurrentInfo.Calendar.GetWeekOfYear( $date, $calendarWeekRule, $firstDayOfWeek )

"$date = week $week"

只需确保您按照当地文化调整了日历的周规则和一周的第一天。

前面的示例使用当前的文化日历。如果您想控制文化,请尝试使用这种方法:

1
2
3
4
5
6
7
8
9
10
$Date = [DateTime]'2022-12-31'
$CultureName = 'de-de'
$CalendarWeekRule = [System.Globalization.CalendarWeekRule]::FirstDay
$FirstDayOfWeek = [System.DayOfWeek]::Monday

$culture = [System.Globalization.CultureInfo]::GetCultureInfo($CultureName)
$week = $culture.Calendar.GetWeekOfYear($Date, $CalendarWeekRule, $FirstDayOfWeek)


"$Date = week $week"

在这里,您可以使用 $CultureName 来定义要使用的日历的文化名称。

PowerShell 技能连载 - 计算第几周(第 1 部分)

http://blog.vichamp.com/2022/02/09/calculate-calendar-week-part-1/

作者

吴波

发布于

2022-02-09

更新于

2022-07-06

许可协议

评论