如何将wmi中返回的时间转化成可识别时间
wmi中获取的时间类似于这种 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.DateTime 对象与powershell原生命令 Get-Date返回的一致,然后该怎么格式化就怎么格式化吧。
[官方资料](https://learn.microsoft.com/zh-cn/previous-versions/tn-archive/ee198928(v=technet.10)?redirectedfrom=MSDN)
[这个](https://www.zhihu.com/question/27052407)
[ManagementDateTimeConverter](https://learn.microsoft.com/en-us/dotnet/api/system.management.managementdatetimeconverter?view=netframework-4.8)
[System.DateTime](https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/sql/linq/system-datetime-methods)