C++ Builder 參考手冊 ? System::Sysutils ? SystemTimeToDateTime
操作系統(tǒng) API 的日期時間轉(zhuǎn)為日期時間類型的數(shù)值
頭文件:#include <System.SysUtils.hpp>
命名空間:System::Sysutils
函數(shù)原型:
System::TDateTime __fastcall SystemTimeToDateTime(const _SYSTEMTIME &SystemTime);
參數(shù):
- SystemTime:Windows API 的日期時間類型
返回值:
- 日期時間類型數(shù)值蠢挡,如果 SystemTime 的日期無效,轉(zhuǎn)換失敗掂咒,拋出 EConvertError 異常堤如;
- SystemTimeToDateTime 和 TrySystemTimeToDateTime 的區(qū)別:
? SystemTimeToDateTime 轉(zhuǎn)換失敗拋出異常;
? TrySystemTimeToDateTime 轉(zhuǎn)換結(jié)果通過函數(shù)的參數(shù)返回,轉(zhuǎn)換成功函數(shù)返回 true颜屠,轉(zhuǎn)換失敗函數(shù)返回 false; - 使用 System::Dateutils::TTimeZone::Local->ToLocalTime() 和 System::Dateutils::TTimeZone::Local->ToUniversalTime() 在 UTC 時間和本地時間之間互相轉(zhuǎn)換鹰祸,如果有需要甫窟。
例子:把 API 函數(shù) GetSystemTime 獲取到的系統(tǒng)時間轉(zhuǎn)為本地時間。
#include <System.DateUtils.hpp>
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));
}
運行結(jié)果:由于 GetSystemTime 獲取的時間是 UTC 時間蛙婴,所以用 TTimeZone::Local->ToLocalTime() 轉(zhuǎn)為本地時間 (在中國粗井,本地時間為 UTC 時間 + 8 小時 (北京時間為 +8 時區(qū)時間))。
相關(guān):
- 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