将WMI中的DateTime类型转换成VBS时间

标签: , , ,

WMI中的DateTime数据类型保存的时间格式是UTC,与VBS中的时间类型不同。

有两种方法可以转换,一种是自己写个函数解析:

Function WMIDateStringToDate(DateTime)
    WMIDateStringToDate = _
    CDate(Mid(DateTime, 5, 2) &_
    "/" &_
    Mid(DateTime, 7, 2) &_
    "/" &_
    Left(DateTime, 4) &_
    " " &_
    Mid (DateTime, 9, 2) &_
    ":" &_
    Mid(DateTime, 11, 2) &_
    ":" &_
    Mid(DateTime, 13, 2))
End Function

另一种是使用SWbemDateTime对象

Function WMIDateStringToDate(DateTime)
   Set WbemDateTime = _
   CreateObject("WbemScripting.SWbemDateTime")
   WbemDateTime.Value = DateTime
   WMIDateStringToDate = WbemDateTime.GetVarDate()
End Function

参考链接:It’s About Time (Oh, and About Dates, Too)

随机文章:

  1. TCC,很小很强大
  2. 在64位系统中使用CAPICOM
  3. WriteFile,WriteConsole和_tprintf的一些差别
  4. ass2srt.vbs(ass/ssa批量转换srt)
  5. Workbooks.Open中的相对路径

一条评论 发表在“将WMI中的DateTime类型转换成VBS时间”上

  1. prophetk说道:

    来看看

留下回复