SystemTimeToDateTime - C++ Builder

C++ Builder 参考手册 ➙ System::Sysutils ➙ SystemTimeToDateTime


操作系统 API 的日期时间转为日期时间类型的数值

头文件:#include
命名空间:System::Sysutils
函数原型:

System::TDateTime __fastcall SystemTimeToDateTime(const _SYSTEMTIME &SystemTime);

参数:

  • SystemTime:Windows API 的日期时间类型

返回值:

  • 日期时间类型数值,如果 SystemTime 的日期无效,转换失败,抛出 EConvertError 异常;
  • SystemTimeToDateTime 和 TrySystemTimeToDateTime 的区别:
    • SystemTimeToDateTime 转换失败抛出异常;
    • TrySystemTimeToDateTime 转换结果通过函数的参数返回,转换成功函数返回 true,转换失败函数返回 false;
  • 使用 System::Dateutils::TTimeZone::Local->ToLocalTime() 和 System::Dateutils::TTimeZone::Local->ToUniversalTime() 在 UTC 时间和本地时间之间互相转换,如果有需要。

例子:把 API 函数 GetSystemTime 获取到的系统时间转为本地时间。

#include 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    SYSTEMTIME SysTime;
    GetSystemTime(&SysTime);
    TDateTime dt = SystemTimeToDateTime(SysTime);
    Memo1->Lines->Add(L"UTC 时间:" + FormatDateTime(L"yyyy/mm/dd hh:nn:ss.zzz", dt));
    dt = Dateutils::TTimeZone::Local->ToLocalTime(dt);
    Memo1->Lines->Add(L"本地时间:" + FormatDateTime(L"yyyy/mm/dd hh:nn:ss.zzz", dt));
}

运行结果:由于 GetSystemTime 获取的时间是 UTC 时间,所以用 TTimeZone::Local->ToLocalTime() 转为本地时间 (在中国,本地时间为 UTC 时间 + 8 小时 (北京时间为 +8 时区时间))。

运行结果

相关:

  • System::Sysutils::DateTimeToSystemTime
  • System::Sysutils::SystemTimeToDateTime
  • System::Sysutils::TrySystemTimeToDateTime
  • System::Sysutils::DateTimeToFileDate
  • System::Sysutils::FileDateToDateTime
  • System::Sysutils::FileAge
  • System::Sysutils::FileGetDate
  • System::Sysutils::FileSetDate
  • System::Sysutils::DateToStr
  • System::Sysutils::TimeToStr
  • System::Sysutils::DateTimeToStr
  • System::Sysutils::DateTimeToString
  • System::Sysutils::FormatDateTime
  • System::Sysutils::StrToDate
  • System::Sysutils::StrToDateDef
  • System::Sysutils::StrToTime
  • System::Sysutils::StrToTimeDef
  • System::Sysutils::StrToDateTime
  • System::Sysutils::StrToDateTimeDef
  • System::Sysutils::FloatToDateTime
  • System::Sysutils::FormatSettings
  • System::Sysutils::TFormatSettings
  • System::Sysutils
  • System::Dateutils::TTimeZone::ToUniversalTime
  • System::Dateutils::TTimeZone::ToLocalTime
  • System::Dateutils::TTimeZone
  • System::Dateutils
  • System::TDateTime
  • System

C++ Builder 参考手册 ➙ System::Sysutils ➙ SystemTimeToDateTime

你可能感兴趣的:(SystemTimeToDateTime - C++ Builder)