对于其他编程语言,如python,都可以很轻松的通过给定的一个日期,计算出他属于那一个年份的那一个周数
不过对于Powershell 需要自己多写几步,才能计算出来,因为没有直接内置的的方法或者函数
这里我们通过如下Powershell脚本代码、将指定的日期 xxxx-xx-xx 转换成 年份周数 的格式
$MyDate = '2021-01-01' # Author:QQ-5201351 $DateObj = [datetime]::ParseExact($MyDate, 'yyyy-MM-dd', [System.Globalization.CultureInfo]::InvariantCulture) # 获取该日期是星期几(Monday=1, ..., Sunday=7) $dayOfWeek = [int]$DateObj.DayOfWeek if ($dayOfWeek -eq 0) { $dayOfWeek = 7 } # 将 Sunday 从 0 改为 7 # 计算本周的星期四(Thursday 是 4) $thursdayOffset = 4 - $dayOfWeek $thursday = $DateObj.AddDays($thursdayOffset) # ISO 年份 = 星期四所在的公历年份 $isoYear = $thursday.Year # 使用 GregorianCalendar 计算周数(基于 Monday + FirstFourDayWeek) $calendar = [System.Globalization.GregorianCalendar]::new() $isoWeek = $calendar.GetWeekOfYear( $DateObj, [System.Globalization.CalendarWeekRule]::FirstFourDayWeek, [DayOfWeek]::Monday ) # 格式化输出(周数补零到两位) Write-Output ("{0}{1:D2}" -f $isoYear, $isoWeek)
执行标准为: ISO 8601是由国际标准化组织(ISO)制定的日期和时间表示方法国际标准
所以,这里代码运行结果:202053
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/19532093
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!
浙公网安备 33010602011771号