2016-08-24 60 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)' –