如何将wmi中返回的时间转化成可识别时间
wmi中获取的时间类似于这种 20230112005430.373878-000
以下代码用户返回操作系统安装时间用来做实验
(gwmi -Query "SELECT * FROM Win32_OperatingSystem").installDate
#20230112005430.373878-000
返回的时间属于Universal Time Coordinate (UTC)根据 官方资料 提供的规则 20230112005430.373878-000可以分解为
-
2023年
-
01月
-
12日
-
00时
-
54分
-
30秒
-
373878毫秒
-
与GMT(格林威治时间)相差0分钟
GMT与UCT的差别可以查看 这个 知乎问答的高赞评论,简单来说GMT=UTC+0.
我们处在东8区与utc时间相差8小时,直接在小时上加上8小时就得到了我们的时间了。
当然你也可以调用.net类 ManagementDateTimeConverter 的 ToDateTime 方法来用程序进行转换,由于这个方法在.net中属于静态方法所以不用实例化可以使用::直接调用。在powershell中就是:
[System.Management.ManagementDateTimeConverter]::ToDateTime("20230112005430.373878-000")
#Thursday, January 12, 2023 8:54:30 AM
这样会返回一个 System.DateTime 对象与powershell原生命令 Get-Date返回的一致,然后该怎么格式化就怎么格式化吧。
[官方资料](learn.microsoft.com/zh-cn/previ…)
[这个](www.zhihu.com/question/27…)
[ManagementDateTimeConverter](learn.microsoft.com/en-us/dotne…)
[System.DateTime](learn.microsoft.com/en-us/dotne…)
本文使用 文章同步助手 同步