]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/date_time/xmldoc/ex_print_hours.xml
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / date_time / xmldoc / ex_print_hours.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
3 "../../../tools/boostbook/dtd/boostbook.dtd">
4
5 <!-- Copyright (c) 2001-2004 CrystalClear Software, Inc.
6 Subject to the Boost Software License, Version 1.0.
7 (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
8 -->
9
10 <section id="date_time.examples.print_hours">
11 <title>Print Hours</title>
12
13 <para>
14 Demonstrate time iteration, clock retrieval, and simple calculation.
15 </para>
16 <programlisting>
17 <![CDATA[
18 /* Print the remaining hours of the day
19 * Uses the clock to get the local time
20 * Use an iterator to iterate over the remaining hours
21 * Retrieve the date part from a time
22 *
23 * Expected Output something like:
24 *
25 * 2002-Mar-08 16:30:59
26 * 2002-Mar-08 17:30:59
27 * 2002-Mar-08 18:30:59
28 * 2002-Mar-08 19:30:59
29 * 2002-Mar-08 20:30:59
30 * 2002-Mar-08 21:30:59
31 * 2002-Mar-08 22:30:59
32 * 2002-Mar-08 23:30:59
33 * Time left till midnight: 07:29:01
34 */
35
36 #include "boost/date_time/posix_time/posix_time.hpp"
37 #include <iostream>
38
39 int
40 main()
41 {
42 using namespace boost::posix_time;
43 using namespace boost::gregorian;
44
45 //get the current time from the clock -- one second resolution
46 ptime now = second_clock::local_time();
47 //Get the date part out of the time
48 date today = now.date();
49 date tommorrow = today + days(1);
50 ptime tommorrow_start(tommorrow); //midnight
51
52 //iterator adds by one hour
53 time_iterator titr(now,hours(1));
54 for (; titr < tommorrow_start; ++titr) {
55 std::cout << to_simple_string(*titr) << std::endl;
56 }
57
58 time_duration remaining = tommorrow_start - now;
59 std::cout << "Time left till midnight: "
60 << to_simple_string(remaining) << std::endl;
61 return 0;
62 }
63
64 ]]>
65 </programlisting>
66 </section>