Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

General Usage Examples

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Chapter 10. Boost.Date_Time

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

General Usage Examples

Ниже приводятся некоторые примеры использования дат. Подробнее см. Date Programming.

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); 
    

Ниже приведен некоторый пример кода с использованием времени. Подробнее см. Time Programming.

using namespace boost::posix_time; 
    date d(2002,Feb,1); //an arbitrary date 
    ptime t1(d, hours(5)+nanosec(100)); //date + time of day offset 
    ptime t2 = t1 - minutes(4)+seconds(2);
    ptime now = second_clock::local_time(); //use the clock 
    date today = now.date(); //Get the date part out of the time 
    date tomorrow = today + date_duration(1);
    ptime tomorrow_start(tomorrow); //midnight 
    //input streaming 
    std::stringstream ss("2004-Jan-1 05:21:33.20");
    ss >> t2;
    //starting at current time iterator adds by one hour
    time_iterator titr(now,hours(1)); 
    for (; titr < tomorrow_start; ++titr) {
     std::cout << (*titr) << std::endl;
    }
    

Ниже приводится примерный код с использованием времени. Подробнее см. Local Time Programming.

    using namespace boost::local_time; 
    //setup some timezones for creating and adjusting times
    //first time zone uses the time zone file for regional timezone definitions
    tz_database tz_db;
    tz_db.load_from_file("date_time_zonespec.csv");
    time_zone_ptr nyc_tz = tz_db.time_zone_from_region("America/New_York");
    //This timezone uses a posix time zone string definition to create a time zone
    time_zone_ptr phx_tz(new posix_time_zone("MST-07:00:00"));
    //local departure time in phoenix is 11 pm on April 2 2005 
    // Note that New York changes to daylight savings on Apr 3 at 2 am)
    local_date_time phx_departure(date(2005, Apr, 2), hours(23), phx_tz, 
                                  local_date_time::NOT_DATE_TIME_ON_ERROR);
    time_duration flight_length = hours(4) + minutes(30);
    local_date_time phx_arrival = phx_departure + flight_length;
    //convert the phx time to a nyz time
    local_date_time nyc_arrival = phx_arrival.local_time_in(nyc_tz);
    //2005-Apr-03 06:30:00 EDT
    std::cout << nyc_arrival << std::endl;
    


PrevUpHomeNext

Статья General Usage Examples раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 10. Boost.Date_Time может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Chapter 10. Boost.Date_Time ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 17:17:54/0.027700185775757/1