EncodeTime - C++ Builder

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


由时、分、秒、毫秒生成日期时间型数值

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

System::TDateTime __fastcall EncodeTime(System::Word Hour, System::Word Min, System::Word Sec, System::Word MSec);

参数:

  • Hour:时,0~23
  • Min:分,0~59
  • Sec:秒,0~59
  • MSec:毫秒,0~999

返回值:

  • 日期时间类型数值,日期部分为 0,时间为参数指定的时、分、秒、毫秒;
  • 如果参数指定的时、分、秒、毫秒无效,抛出 EConvertError 异常;
  • 转换结果在数值上,为一个双精度浮点数值,等于 1 为一天 (24 小时整),0.5 为 12 小时,所以转换结果大于等于0,并且小于1;
  • 如果日期时间类型变量不包含日期,即日期为 0,如果输出日期,认为是 1899年12月30日,因为日期时间类型变量数值是从 1899/12/30 00:00:00.000 开始到这个时刻的天数,如果看到 C++ Builder 程序输出了这个日期,说明是输出了等于 0 的日期引起的。

例:23时 59分 59秒 999毫秒:转换为日期时间成功,1时 0分 60秒 0毫秒:转换为日期时间失败:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    try
    {
        TDateTime dt = Sysutils::EncodeTime(23, 59, 59, 999);
        Memo1->Lines->Add(FormatDateTime(L"hh:nn:ss.zzz", dt));
    }
    catch(Exception &e)
    {
        ShowMessage(L"转换出错:" + e.Message);
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    try
    {
        TDateTime dt = Sysutils::EncodeTime(1, 0, 60, 0);
        Memo1->Lines->Add(FormatDateTime(L"yyyy/mm/dd", dt));
    }
    catch(Exception &e)
    {
        ShowMessage(L"转换出错:" + e.Message);
    }
}

运行结果:

点击 Button1 运行结果
点击 Button2 运行结果

相关:

  • System::Dateutils::DecodeDateTime
  • System::Dateutils::EncodeDateTime
  • System::Dateutils::TryEncodeDateTime
  • System::Dateutils::DateTimeToUnix
  • System::Dateutils::UnixToDateTime
  • System::Dateutils::YearOf
  • System::Dateutils::MonthOf
  • System::Dateutils::DayOf
  • System::Dateutils::DayOfTheWeek
  • System::Dateutils::DayOfTheMonth
  • System::Dateutils::DayOfTheYear
  • System::Dateutils::HourOf
  • System::Dateutils::MinuteOf
  • System::Dateutils::SecondOf
  • System::Dateutils::MilliSecondOf
  • System::Dateutils
  • System::Sysutils::DecodeDate
  • System::Sysutils::DecodeDateFully
  • System::Sysutils::DecodeTime
  • System::Sysutils::EncodeDate
  • System::Sysutils::EncodeTime
  • System::Sysutils::TryEncodeDate
  • System::Sysutils::TryEncodeTime
  • System::Sysutils::TryStrToDate
  • System::Sysutils::TryStrToDateTime
  • System::Sysutils::TryStrToTime
  • System::Sysutils::FormatDateTime
  • System::Sysutils::CurrentYear
  • System::Sysutils::Now
  • System::Sysutils::Date
  • System::Sysutils::Time
  • System::Sysutils

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

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