美文网首页
WeekOfTheMonth - C++ Builder

WeekOfTheMonth - C++ Builder

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

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


    这个日期时间在这一个月的第几周 (ISO 8601)

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

    System::Word __fastcall WeekOfTheMonth(
        const System::TDateTime AValue);
    
    System::Word __fastcall WeekOfTheMonth(
        const System::TDateTime AValue,
        System::Word &AYear,
        System::Word &AMonth);
    

    参数:

    • AValue:日期时间类型变量;
    • AYear:返回这个日期的年,1 - 9999;
    • AMonth:返回这个日期的月,1 - 12;

    返回值:

    • 返回值为 AValue 日期时间在 AYear 年 AMonth 月的第几周 (ISO 8601),范围 1 - 5;
    • 一个月一共有 4 或 5 周,这些周的分配规则请参考 IsValidDateWeek
    • 一年一共有 52 或 53 周,有关一年有多少周请参考 WeeksInYear
    • 可以使用函数 WeekOfTheYear 获取一个日期时间在一年的第几周 。

    例:

    #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));
    
        unsigned short iYear;
        unsigned short iWeek = WeekOfTheYear(dt, iYear);
        Memo1->Lines->Add(String().sprintf(L"今天是 %d 年的第 %d 周", iYear, iWeek));
    
        TDateTime t0 = StartOfAWeek(iYear, iWeek);
        TDateTime t1 = EndOfAWeek(iYear, iWeek);
        Memo1->Lines->Add(L"这一周从 " + FormatDateTime(L"yyyy/mm/dd hh:nn:ss.zzz",t0)
                        + L" 到 "      + FormatDateTime(L"yyyy/mm/dd hh:nn:ss.zzz",t1));
    
        unsigned short iMonth;
        iWeek = WeekOfTheMonth(dt, iYear, iMonth);
        Memo1->Lines->Add(String().sprintf(L"今天是 %d 年 %d 月的第 %d 周", iYear, iMonth, iWeek));
    }
    

    运行结果:


    相关:


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

    相关文章

      网友评论

          本文标题:WeekOfTheMonth - C++ Builder

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