2017-05-31 55 views
0

我有這樣的代碼片段,一個註冊表值轉換爲日期字符串(原十六進制值2F 04 1E 00 00 00 00 00):Powershell的月份名稱數量

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 
    } 
} 

我需要一個月數字而不是名字。

我已經找到了將月份號碼轉換爲名稱的例子,但是無法以相反的方式讓它工作。

回答

3

您可以使用Get-Date並指定格式。 「MM」將以2位數字檢索月份。

get-date -format "MM" 

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

我不知道你的日期是什麼格式,但是從我所看到的,你可以嘗試

​​

和應該給你一個格式化爲這樣的日期:例如"2015 03 21"

+0

完美,這是做的伎倆。謝謝米奇! – J1raya