| /* Print the remaining hours of the day |
| * Uses the clock to get the local time |
| * Use an iterator to iterate over the remaining hours |
| * Retrieve the date part from a time |
| * |
| * Expected Output something like: |
| * |
| * 2002-Mar-08 16:30:59 |
| * 2002-Mar-08 17:30:59 |
| * 2002-Mar-08 18:30:59 |
| * 2002-Mar-08 19:30:59 |
| * 2002-Mar-08 20:30:59 |
| * 2002-Mar-08 21:30:59 |
| * 2002-Mar-08 22:30:59 |
| * 2002-Mar-08 23:30:59 |
| * Time left till midnight: 07:29:01 |
| */ |
| |
| #include "boost/date_time/posix_time/posix_time.hpp" |
| #include <iostream> |
| |
| int |
| main() |
| { |
| using namespace boost::posix_time; |
| using namespace boost::gregorian; |
| |
| //get the current time from the clock -- one second resolution |
| ptime now = second_clock::local_time(); |
| //Get the date part out of the time |
| date today = now.date(); |
| date tommorrow = today + days(1); |
| ptime tommorrow_start(tommorrow); //midnight |
| |
| //iterator adds by one hour |
| time_iterator titr(now,hours(1)); |
| for (; titr < tommorrow_start; ++titr) { |
| std::cout << to_simple_string(*titr) << std::endl; |
| } |
| |
| time_duration remaining = tommorrow_start - now; |
| std::cout << "Time left till midnight: " |
| << to_simple_string(remaining) << std::endl; |
| return 0; |
| } |
| |
| /* Copyright 2001-2004: CrystalClear Software, Inc |
| * http://www.crystalclearsoftware.com |
| * |
| * Subject to the Boost Software License, Version 1.0. |
| * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) |
| */ |
| |