willsonlincake 发表于 2022-4-26 21:24:30

Boost官方日期库

using namespace boost::gregorian;
    date weekstart(2002,Feb,1);
    date weekend= weekstart + weeks(1);
    date d2 = d1 + days(5);
    date today = day_clock::local_day();
    if (d2 >= today) {} //date comparison operators

    date_period thisWeek(d1,d2);
    if (thisWeek.contains(today)) {}//do something

    //iterate and print the week
    day_iterator itr(weekstart);
    while (itr <= weekend) {
   std::cout << (*itr) << std::endl;
   ++itr;
    }
    //input streaming
    std::stringstream ss("2004-Jan-1");
    ss >> d3;

    //date generator functions
    date d5 = next_weekday(d4, Sunday); //calculate Sunday following d4

    //US labor day is first Monday in Sept
        typedef nth_day_of_the_week_in_month nth_dow;
    nth_dow labor_day(nth_dow::first,Monday, Sep);
    //calculate a specific date for 2004 from functor
    date d6 = labor_day.get_date(2004);
页: [1]
查看完整版本: Boost官方日期库