1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
<pre>
<font color="#0000ff">// Copyright (c) 2001 David Muse</font>
<font color="#0000ff">// See the file COPYING for more information</font>
<font color="#a020f0">#include </font><font color="#ff00ff"><rudiments/datetime.h></font>
<font color="#a020f0">#include </font><font color="#ff00ff"><stdio.h></font>
<font color="#a020f0">#ifdef RUDIMENTS_NAMESPACE</font>
<font color="#a52a2a"><b>using</b></font> <font color="#2e8b57"><b>namespace</b></font> rudiments;
<font color="#a020f0">#endif</font>
<font color="#2e8b57"><b>int</b></font> main(<font color="#2e8b57"><b>int</b></font> argc, <font color="#2e8b57"><b>const</b></font> <font color="#2e8b57"><b>char</b></font> **argv) {
<font color="#0000ff">// set current time zone to America/New_York</font>
printf(<font color="#ff00ff">"setting TZ=America/New_York...</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>);
environment env;
env.setValue(<font color="#ff00ff">"TZ"</font>,<font color="#ff00ff">"America/New_York"</font>);
<font color="#0000ff">// get the current date</font>
datetime dt;
dt.getSystemDateAndTime();
<font color="#0000ff">// Write out the different parts of the date.</font>
printf(<font color="#ff00ff">"Hour : </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,dt.getHour());
printf(<font color="#ff00ff">"Minutes : </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,dt.getMinutes());
printf(<font color="#ff00ff">"Seconds : </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,dt.getSeconds());
printf(<font color="#ff00ff">"Month : </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,dt.getMonth());
printf(<font color="#ff00ff">"DayOfMonth : </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,dt.getDayOfMonth());
printf(<font color="#ff00ff">"DayOfWeek : </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,dt.getDayOfWeek());
printf(<font color="#ff00ff">"DayOfYear : </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,dt.getDayOfYear());
printf(<font color="#ff00ff">"Year : </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,dt.getYear());
printf(<font color="#ff00ff">"Daylight Savings Time : </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,dt.isDaylightSavingsTime());
printf(<font color="#ff00ff">"Time Zone : </font><font color="#6a5acd">%s</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,dt.getTimeZoneString());
printf(<font color="#ff00ff">"Offset from GMT : </font><font color="#6a5acd">%ld</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,dt.getTimeZoneOffset());
printf(<font color="#ff00ff">"Seconds since 1970 : </font><font color="#6a5acd">%ld</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,dt.getEpoch());
printf(<font color="#ff00ff">"Date String : </font><font color="#6a5acd">%s</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,dt.getString());
<font color="#0000ff">// use static methods to translate between formats</font>
<font color="#2e8b57"><b>char</b></font> *string=datetime::getString(dt.getEpoch());
printf(<font color="#ff00ff">"String from Epoch : </font><font color="#6a5acd">%s</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,string);
<font color="#a52a2a"><b>delete</b></font>[] string;
string=datetime::getString(dt.getTm());
printf(<font color="#ff00ff">"String from tm : </font><font color="#6a5acd">%s</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,string);
<font color="#0000ff">// use static methods to translate between formats</font>
<font color="#2e8b57"><b>time_t</b></font> epoch=datetime::getEpoch(string);
printf(<font color="#ff00ff">"Epoch from String : </font><font color="#6a5acd">%ld</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,epoch);
<font color="#a52a2a"><b>delete</b></font>[] string;
epoch=datetime::getEpoch(dt.getTm());
printf(<font color="#ff00ff">"Epoch from tm : </font><font color="#6a5acd">%ld</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,epoch);
<font color="#0000ff">// get time from hardware clock</font>
printf(<font color="#ff00ff">"Hardware Clock (assuming GMT): </font><font color="#6a5acd">%s</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,
(dt.getHardwareDateAndTime(<font color="#ff00ff">"GMT"</font>))?
dt.getString():<font color="#ff00ff">"failed"</font>);
<font color="#0000ff">// get time from hardware clock adjusting for timezone</font>
printf(<font color="#ff00ff">"Adjusted Hardware Clock : </font><font color="#6a5acd">%s</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,
(dt.getAdjustedHardwareDateAndTime(<font color="#ff00ff">"GMT"</font>))?
dt.getString():<font color="#ff00ff">"failed"</font>);
<font color="#0000ff">// switch time zones</font>
dt.adjustTimeZone(<font color="#ff00ff">"MST"</font>);
printf(<font color="#ff00ff">"Adjusting time zone to Mountain time: </font><font color="#6a5acd">%s</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,dt.getString());
<font color="#0000ff">// valid date</font>
<font color="#2e8b57"><b>const</b></font> <font color="#2e8b57"><b>char</b></font> *str=<font color="#ff00ff">"02/20/1974 12:00:00"</font>;
printf(<font color="#ff00ff">"valid date? </font><font color="#6a5acd">%s</font><font color="#ff00ff"> : </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,str,datetime::validDateTime(str));
str=<font color="#ff00ff">"02/30/1974 12:00:00"</font>;
printf(<font color="#ff00ff">"valid date? </font><font color="#6a5acd">%s</font><font color="#ff00ff"> : </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,str,datetime::validDateTime(str));
str=<font color="#ff00ff">"02/20/1974 12:00:00 EST5EDT"</font>;
printf(<font color="#ff00ff">"valid date? </font><font color="#6a5acd">%s</font><font color="#ff00ff"> : </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,str,datetime::validDateTime(str));
str=<font color="#ff00ff">"02/30/1974 12:00:00 EST5EDT"</font>;
printf(<font color="#ff00ff">"valid date? </font><font color="#6a5acd">%s</font><font color="#ff00ff"> : </font><font color="#6a5acd">%d</font><font color="#6a5acd">\n</font><font color="#ff00ff">"</font>,str,datetime::validDateTime(str));
}
</pre>
|