Powershell命令输出转换为日期和时间

时间:2019-01-10 07:51:16

标签: powershell parsing output cmdlet

如何将检索某些日期/时间的powershell命令输出转换为可读的日期/时间字符串? 该命令是

((Get-ComputerRestorePoint)[-1]).CreationTime

基本上可以检索到最后一个还原点创建的日期和时间,但格式像20190109100614.556883-000一样

2 个答案:

答案 0 :(得分:2)

可以通过RestorePoint对象完成转换。像这样

$rp=((Get-ComputerRestorePoint)[-1])
$rp.ConvertToDateTime($rp.CreationTime).ToString("u")

# Result
2019-01-08 08:24:24Z

u格式为universal sortable分隔符,也有很多其他选择。

答案 1 :(得分:2)

您先前尝试失败的原因是您逻辑进行了此操作,而不是使用WMI时间戳方式。 [咧嘴]这有效...

#requires -RunAsAdministrator

$RPCreationTime = (Get-ComputerRestorePoint)[-1]
$RPCreationTime = $RPCreationTime.ConvertToDateTime($RPCreationTime.CreationTime)

# the Out-Host is needed to avoid the display system trying to combine the two items
$RPCreationTime.GetType() | Out-Host
$RPCreationTime 

输出...

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     DateTime                                 System.ValueType


2019 January 09, Wednesday 3:00:13 AM