美文网首页
MilliSecondOfTheYear - C++ Build

MilliSecondOfTheYear - C++ Build

作者: 玄坴 | 来源:发表于2022-08-07 10:10 被阅读0次

    C++ Builder 参考手册System::DateutilsMilliSecondOfTheYear


    这个日期时间在这一年的第几毫秒

    头文件:#include <System.DateUtils.hpp>
    命名空间:System::Dateutils
    函数原型:

    __int64 __fastcall MilliSecondOfTheYear(const System::TDateTime AValue);
    

    参数:

    • AValue:日期时间类型变量;

    返回值:

    • 这个日期时间在这一年的第几毫秒,从 0 开始:平年 0 - 31535999999,闰年 0 - 31622399999;
    • 1月1日0时0分0秒0毫秒,是这一年的第 0 毫秒,平年一共 365 天 * 24 * 60 * 60 * 1000 = 31536000000 毫秒,12月31日23时59分59秒999毫秒为这一年的最后一毫秒,即第 31535999999 毫秒;闰年一共 366 天 * 24 * 60 * 60 * 1000 = 31622400000 毫秒,12月31日23时59分59秒999毫秒为这一年的最后一毫秒,即第 31622399999 毫秒。

    例:现在是今年的第几毫秒,用两种方法:用函数获取、用计算天数的方法 (两个日期时间相减得到的是一个 double 类型的天数,小数,例如 0.5 为 12 小时)。

    #include <System.DateUtils.hpp>
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
        TDateTime dt = Sysutils::Now(); // 现在的日期和时间
        Memo1->Lines->Add(L"现在时刻:" + FormatDateTime(L"yyyy/mm/dd hh:nn:ss.zzz", dt));
        Memo1->Lines->Add(String().sprintf(L"现在是今年的第 %lld 毫秒", MilliSecondOfTheYear(dt)));
    
        TDateTime t0 = StartOfTheYear(dt); // 今年1月1日0时
        Memo1->Lines->Add(L"今年开始:" + FormatDateTime(L"yyyy/mm/dd hh:nn:ss.zzz", t0));
    
        double lfDays = dt - t0; // 今天是今年的第几天 (小数,例如 0.5 为 12 小时)
        Memo1->Lines->Add(String().sprintf(L"今天是今年的第 %d 天", (int)lfDays));
        long long llMillSecs = lfDays * 24 * 60 * 60 * 1000 + 0.5; // 现在是今年的第几毫秒
        Memo1->Lines->Add(String().sprintf(L"现在是今年的第 %lld 毫秒", llMillSecs));
    }
    

    运行结果:


    相关:


    C++ Builder 参考手册System::DateutilsMilliSecondOfTheYear

    相关文章

      网友评论

          本文标题:MilliSecondOfTheYear - C++ Build

          本文链接:https://www.haomeiwen.com/subject/nkyovrtx.html