我有以下powershell命令:
Get-Date -UFormat %V
星期一显示糟糕的星期几,我不知道为什么。如何添加一个以获得正确的星期数?在一周的第一天是星期一,我到处都走了,但没有帮助。谢谢。
答案 0 :(得分:2)
尝试使用此方法获取一年中的第几周。 Found here
function Get-WeekNumber([datetime]$DateTime = (Get-Date)) {
$cultureInfo = [System.Globalization.CultureInfo]::CurrentCulture
$cultureInfo.Calendar.GetWeekOfYear($DateTime,$cultureInfo.DateTimeFormat.CalendarWeekRule,$cultureInfo.DateTimeFormat.FirstDayOfWeek)
}
Get-WeekNumber # -> 7, for instance
答案 1 :(得分:1)
您需要的是ISO8601周号,其中
要获取本周号,可以使用以下功能:
function Get-Iso8601WeekNumber([datetime]$DateTime = (Get-Date)) {
# ISO8601: Week starts on Monday and Week 1 is the week that contains Thursday
$calendar = [CultureInfo]::InvariantCulture.Calendar
$dow = $calendar.GetDayOfWeek($DateTime)
if ($dow -ge [DayOfWeek]::Monday -and $dow -le [DayOfWeek]::Wednesday) {
$DateTime = $DateTime.AddDays(3)
}
return $calendar.GetWeekOfYear($DateTime, [Globalization.CalendarWeekRule]::FirstFourDayWeek, [DayOfWeek]::Monday)
}
使用您的示例
Get-Iso8601WeekNumber "2020-02-17"
返回8
请注意使用InvariantCulture
而不是CurrentCulture