You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中将Ticks值转换为DateTime类型?

问题分析与解决

问题原因

从注册表读取的REG_QWORD值虽被识别为ulong类型,但尝试转换为DateTime时,PowerShell因DateTime无直接接受ulong的转换构造函数,会将其隐式转为字符串,最终触发"无法识别为有效DateTime"的错误。

解决方法

需显式将ulong类型的ticks转换为long(System.Int64)类型后再进行DateTime转换,以下是几种可行方案:

方法1:调用DateTime构造函数

$dateTime = New-Object DateTime($ticks -as [long])

方法2:显式转换后强制类型转换

$dateTime = [DateTime]($ticks -as [long])

方法3:配合Get-Date参数使用

$dateTime = Get-Date -Date ($ticks -as [long])

转换结果验证

你的ticks值638254472943517809转换后对应本地时间为:2023年9月12日 14:28:14.3517809

补充说明

  • DateTime.Ticks的类型为Int64(即long),最大值为9223372036854775807,你的ticks值远小于该阈值,可安全转换为long类型。
  • 若后续遇到更大的ulong值,需先确认其是否在DateTime支持的Ticks范围内(范围为0到3155378975999999999,对应0001年1月1日至9999年12月31日)。

内容的提问来源于stack exchange,提问作者aksarben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 16:53:13