Powershell月份名称编号

时间:2017-05-31 02:41:01

标签: powershell date

我有这段代码将注册表值转换为日期字符串(最初为十六进制值2f 04 1e 00 00 00 00 00):

   ElseIf (($sepmastersvc)) {
    $sepmasterst = [bool]$sepmaster
    $sepStatus = $sepmastersvc.status
    $SEPVscan = (get-itemproperty "HKLM:SOFTWARE\Wow6432Node\Symantec\Symantec Endpoint Protection\AV") 2> $null
    If (!($SEPVscan)) {
        $SEPVscanStatus = [bool]$SEPVscan
        $SEPDatVer = "N/A"
    }
    Else {
        $SEPVscanStatus = [bool]$SEPVscan
        $SEPDatVerY = [string]($SEPVscan.PatternFileDate[0] + 1970) 
        $SEPDatVerM = ($DateTimeFormat.MonthNames[$SEPVscan.PatternFileDate[1]]) 
        $SEPDatD = [string]$SEPVscan.PatternFileDate[2]
        $SEPDatVer = $SEPDatVerY + $SEPDatVerM + $SEPDatD
    }
}

我需要获取月号而不是名字。

我找到了将月份号码转换为名称的示例,但无法通过相反的方式使其工作。

1 个答案:

答案 0 :(得分:3)

您可以使用Get-Date并指定格式。 " MM"将以2位数字检索月份。

get-date -format "MM"

以下是可能的格式列表:https://technet.microsoft.com/en-us/library/ee692801.aspx

我不确定你的日期是什么格式,但从我看到的,你可以试试

Get-Date -Date "$SEPDatVerM $SEPDatD $SEPDatVerY" -format "yyyy MM dd"

,这应该给你一个格式为这样的日期:例如"2015 03 21"