如何将WMI DateTime转换为标准DateTime?

Rem*_*igo 4 delphi wmi datetime

我正在尝试从WMI(Win32_OperatingSystem.InstallDate)读取安装日期.返回值如下所示:20091020221246.000000 + 180.我怎样才能获得有效的日期?

RRU*_*RUZ 5

您可以使用该WbemScripting.SWbemDateTime对象,而不是手动解析和提取值(接受的答案如何建议).

检查这个样本

function  WmiDateToTDatetime(vDate : OleVariant) : TDateTime;
var
  FWbemDateObj  : OleVariant;
begin;
  FWbemDateObj  := CreateOleObject('WbemScripting.SWbemDateTime');
  FWbemDateObj.Value:=vDate;
  Result:=FWbemDateObj.GetVarDate;
end;
Run Code Online (Sandbox Code Playgroud)

有关此主题的更多信息,您可以阅读此artile WMI Tasks using Delphi – Dates and Times