POWERSHELL命令获取日期是今年的第几周

POWERSHELL命令获取日期是今年的第几周

#POWERSHELL获取日期是今年的第几周
function get-WeekOfYear{
    [CmdletBinding(SupportsShouldProcess=$true)]
    param
    (
        #日期和时间值
        [parameter(Mandatory = $true)]
        [string]$DateNow,
        #定义日历周的枚举值,确定年份第一周的不同规则,默认0表示今年的第一天是第一周
        #指示年的第一周从该年的第一天开始,到所指定周的下一个首日前结束。 值为 0。
        #指示年的第一周是第一个在指定的周首日前包含四天或更多天的周。 值为 2。
        #指示年的第一周从所指定周首日的第一个匹配项开始,可以是年的第一天或其后某一天。 值为 1。
        [int]$WeekRule=0,
        #表示一周的第一天的枚举值,规定一周的第一天是星期几,默认0表示星期日是一周的第一天,该值可以是一周的任意一天
        [int]$DayOfWeek=0
    )
    #加载mscorlib.dll程序集,因为System.Globalization.GregorianCalendar是在此mscorlib.dll程序集中。所以需要加载此.NET程序集。
    [System.Reflection.Assembly]::LoadWithPartialName("mscorlib.dll") | Out-Null;
    #创建对象公历对象
    $gc = New-Object System.Globalization.GregorianCalendar;
    #通过公历对象的GetWeekOfYear方法获取日期是今年的第几周
    $weekNum = $gc.GetWeekOfYear([datetime]$DateNow, [System.Globalization.CalendarWeekRule]$WeekRule, [System.DayOfWeek]$DayOfWeek);
    write-host $DateNow 是第 $weekNum 周;
}
#今年第一天为第一周,星期日为第一天
PS C:\windows\system32> get-WeekOfYear -DateNow "2017-07-01" -WeekRule 0 -DayOfWeek 0
2017-07-01 是第 26#今年第一天为第一周,星期一为第一天
PS C:\windows\system32> get-WeekOfYear -DateNow "2017-07-01" -WeekRule 0 -DayOfWeek 1
2017-07-01 是第 27#今年第一个星期一为第一周,星期一为第一天
PS C:\windows\system32> get-WeekOfYear -DateNow "2017-07-01" -WeekRule 1 -DayOfWeek 1
2017-07-01 是第 26
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值