2016-08-24 56 views
0

我正在編寫一個腳本,以檢查上次使用PowerChell通過羣集模式netapps更新snapmirror關係的時間。查找最後一個snapmirror更新日期

我發現,使用的CLI SnapMirror的節目我可以看到「最後的傳送結束時間戳」等也有使用使用PowerShell中的相同名稱的屬性:

get-ncsnapmirror | select lasttransferendtimestamp 

問題出在CLI它顯示一個不錯的約會(08/23 22:05:51)並且使用PowerShell,我得到的是一個數字(1471979101)。有誰知道我怎麼能把這個數字翻譯成DateTime格式? (.ToDateTime()沒有工作)

回答

1

它顯示從UNIX開始時的總秒數。所以,你可以這樣做:

$date = Get-Date -Year 1970 -Month 1 -Day 1 -Hour 00 -Minute 00 -Second 00 
$date.AddSeconds($integer) 

編輯:安斯加爾Wiechers的評論之後。

$date = (Get-Date '1970-01-01').AddSeconds($integer) 

其中$integer是你得到的數字。我得到的結果是:

PS C:\> $date = (Get-Date '1970-01-01').AddSeconds(1471979101) 
PS C:\> $date.GetDateTimeFormats('s') 
2016-08-23T19:05:01 
+0

這似乎很接近,但不知何故,我得到兩個(19:05和22:05)之間5的小時差,我想這可能是一個時區的問題,但是當我在netapp輸入日期我得到了和PC一樣的小時。任何想法爲什麼?或者你會建議在開始時加入05到幾個小時? –

+0

@TomerSchweid這可能是一個時區偏移量。試試'$ date.AddSeconds(1471979101).ToLocalTime()'。 –

+1

@Syphirint Shorter:'(Get-Date'1970-01-01')。AddSeconds($ integer)' –