class_date_time.html 73 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.13"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>RTClib: DateTime Class Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="search/searchdata.js"></script>
  14. <script type="text/javascript" src="search/search.js"></script>
  15. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  19. <div id="titlearea">
  20. <table cellspacing="0" cellpadding="0">
  21. <tbody>
  22. <tr style="height: 56px;">
  23. <td id="projectalign" style="padding-left: 0.5em;">
  24. <div id="projectname">RTClib
  25. </div>
  26. </td>
  27. </tr>
  28. </tbody>
  29. </table>
  30. </div>
  31. <!-- end header part -->
  32. <!-- Generated by Doxygen 1.8.13 -->
  33. <script type="text/javascript">
  34. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  35. </script>
  36. <script type="text/javascript" src="menudata.js"></script>
  37. <script type="text/javascript" src="menu.js"></script>
  38. <script type="text/javascript">
  39. $(function() {
  40. initMenu('',true,false,'search.php','Search');
  41. $(document).ready(function() { init_search(); });
  42. });
  43. </script>
  44. <div id="main-nav"></div>
  45. <!-- window showing the filter options -->
  46. <div id="MSearchSelectWindow"
  47. onmouseover="return searchBox.OnSearchSelectShow()"
  48. onmouseout="return searchBox.OnSearchSelectHide()"
  49. onkeydown="return searchBox.OnSearchSelectKey(event)">
  50. </div>
  51. <!-- iframe showing the search results (closed by default) -->
  52. <div id="MSearchResultsWindow">
  53. <iframe src="javascript:void(0)" frameborder="0"
  54. name="MSearchResults" id="MSearchResults">
  55. </iframe>
  56. </div>
  57. </div><!-- top -->
  58. <div class="header">
  59. <div class="summary">
  60. <a href="#pub-types">Public Types</a> &#124;
  61. <a href="#pub-methods">Public Member Functions</a> &#124;
  62. <a href="#pro-attribs">Protected Attributes</a> &#124;
  63. <a href="class_date_time-members.html">List of all members</a> </div>
  64. <div class="headertitle">
  65. <div class="title">DateTime Class Reference</div> </div>
  66. </div><!--header-->
  67. <div class="contents">
  68. <p>Simple general-purpose date/time class (no TZ / DST / leap seconds).
  69. <a href="class_date_time.html#details">More...</a></p>
  70. <p><code>#include &lt;<a class="el" href="_r_t_clib_8h_source.html">RTClib.h</a>&gt;</code></p>
  71. <table class="memberdecls">
  72. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
  73. Public Types</h2></td></tr>
  74. <tr class="memitem:a3f65aa183f72c285a03f7dd04321285a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a3f65aa183f72c285a03f7dd04321285a">timestampOpt</a> { <a class="el" href="class_date_time.html#a3f65aa183f72c285a03f7dd04321285aa784e65d72227eca32bea310d8e067f62">TIMESTAMP_FULL</a>,
  75. <a class="el" href="class_date_time.html#a3f65aa183f72c285a03f7dd04321285aa917c6893834b9798f094165cc2bbc63b">TIMESTAMP_TIME</a>,
  76. <a class="el" href="class_date_time.html#a3f65aa183f72c285a03f7dd04321285aa3cd012ee63cddb295b466a3431449805">TIMESTAMP_DATE</a>
  77. }</td></tr>
  78. <tr class="separator:a3f65aa183f72c285a03f7dd04321285a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  79. </table><table class="memberdecls">
  80. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  81. Public Member Functions</h2></td></tr>
  82. <tr class="memitem:af221f098098c80edfcd71fbc256f457a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#af221f098098c80edfcd71fbc256f457a">DateTime</a> (uint32_t t=<a class="el" href="_r_t_clib_8h.html#a1a4c3c6b78fa47471646f18b572ddd46">SECONDS_FROM_1970_TO_2000</a>)</td></tr>
  83. <tr class="memdesc:af221f098098c80edfcd71fbc256f457a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor from <a href="https://en.wikipedia.org/wiki/Unix_time">Unix time</a>. <a href="#af221f098098c80edfcd71fbc256f457a">More...</a><br /></td></tr>
  84. <tr class="separator:af221f098098c80edfcd71fbc256f457a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  85. <tr class="memitem:aad62a6709a1e65e6860b1efaf8c347e9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#aad62a6709a1e65e6860b1efaf8c347e9">DateTime</a> (uint16_t <a class="el" href="class_date_time.html#a04bc8f3d3452bf8fcc5f1e82d86d7fe8">year</a>, uint8_t <a class="el" href="class_date_time.html#a10d35aa20ebb179cdb4b61f90dfcfe74">month</a>, uint8_t <a class="el" href="class_date_time.html#a6e653eaef31e4956ee9bf67b4874a9a8">day</a>, uint8_t <a class="el" href="class_date_time.html#ac17441fb0c669bcf3be5de278335e8d0">hour</a>=0, uint8_t min=0, uint8_t sec=0)</td></tr>
  86. <tr class="memdesc:aad62a6709a1e65e6860b1efaf8c347e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor from (year, month, day, hour, minute, second). <a href="#aad62a6709a1e65e6860b1efaf8c347e9">More...</a><br /></td></tr>
  87. <tr class="separator:aad62a6709a1e65e6860b1efaf8c347e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  88. <tr class="memitem:a50502a3a29409c6c2507638779df1a9d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a50502a3a29409c6c2507638779df1a9d">DateTime</a> (const <a class="el" href="class_date_time.html">DateTime</a> &amp;copy)</td></tr>
  89. <tr class="memdesc:a50502a3a29409c6c2507638779df1a9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <a href="#a50502a3a29409c6c2507638779df1a9d">More...</a><br /></td></tr>
  90. <tr class="separator:a50502a3a29409c6c2507638779df1a9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  91. <tr class="memitem:aabeb5303c98a004439fe337bb5f5da63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#aabeb5303c98a004439fe337bb5f5da63">DateTime</a> (const char *date, const char *time)</td></tr>
  92. <tr class="memdesc:aabeb5303c98a004439fe337bb5f5da63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for generating the build time. <a href="#aabeb5303c98a004439fe337bb5f5da63">More...</a><br /></td></tr>
  93. <tr class="separator:aabeb5303c98a004439fe337bb5f5da63"><td class="memSeparator" colspan="2">&#160;</td></tr>
  94. <tr class="memitem:a75e22d94bd5ab883ec56e6581e04a2d7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a75e22d94bd5ab883ec56e6581e04a2d7">DateTime</a> (const __FlashStringHelper *date, const __FlashStringHelper *time)</td></tr>
  95. <tr class="memdesc:a75e22d94bd5ab883ec56e6581e04a2d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory friendly constructor for generating the build time. <a href="#a75e22d94bd5ab883ec56e6581e04a2d7">More...</a><br /></td></tr>
  96. <tr class="separator:a75e22d94bd5ab883ec56e6581e04a2d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  97. <tr class="memitem:a6093674ec825488817cd7576e46213da"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a6093674ec825488817cd7576e46213da">DateTime</a> (const char *iso8601date)</td></tr>
  98. <tr class="memdesc:a6093674ec825488817cd7576e46213da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for creating a <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> from an ISO8601 date string. <a href="#a6093674ec825488817cd7576e46213da">More...</a><br /></td></tr>
  99. <tr class="separator:a6093674ec825488817cd7576e46213da"><td class="memSeparator" colspan="2">&#160;</td></tr>
  100. <tr class="memitem:a21b2a59fbde555e5c5688d44e9d95aec"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a21b2a59fbde555e5c5688d44e9d95aec">isValid</a> () const</td></tr>
  101. <tr class="memdesc:a21b2a59fbde555e5c5688d44e9d95aec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether this <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> is valid. <a href="#a21b2a59fbde555e5c5688d44e9d95aec">More...</a><br /></td></tr>
  102. <tr class="separator:a21b2a59fbde555e5c5688d44e9d95aec"><td class="memSeparator" colspan="2">&#160;</td></tr>
  103. <tr class="memitem:a27aad4b627b20de84c23d2b0ed657cba"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a27aad4b627b20de84c23d2b0ed657cba">toString</a> (char *buffer) const</td></tr>
  104. <tr class="memdesc:a27aad4b627b20de84c23d2b0ed657cba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> as a string in a user-defined format. <a href="#a27aad4b627b20de84c23d2b0ed657cba">More...</a><br /></td></tr>
  105. <tr class="separator:a27aad4b627b20de84c23d2b0ed657cba"><td class="memSeparator" colspan="2">&#160;</td></tr>
  106. <tr class="memitem:a04bc8f3d3452bf8fcc5f1e82d86d7fe8"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a04bc8f3d3452bf8fcc5f1e82d86d7fe8">year</a> () const</td></tr>
  107. <tr class="memdesc:a04bc8f3d3452bf8fcc5f1e82d86d7fe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the year. <a href="#a04bc8f3d3452bf8fcc5f1e82d86d7fe8">More...</a><br /></td></tr>
  108. <tr class="separator:a04bc8f3d3452bf8fcc5f1e82d86d7fe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  109. <tr class="memitem:a10d35aa20ebb179cdb4b61f90dfcfe74"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a10d35aa20ebb179cdb4b61f90dfcfe74">month</a> () const</td></tr>
  110. <tr class="memdesc:a10d35aa20ebb179cdb4b61f90dfcfe74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the month. <a href="#a10d35aa20ebb179cdb4b61f90dfcfe74">More...</a><br /></td></tr>
  111. <tr class="separator:a10d35aa20ebb179cdb4b61f90dfcfe74"><td class="memSeparator" colspan="2">&#160;</td></tr>
  112. <tr class="memitem:a6e653eaef31e4956ee9bf67b4874a9a8"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a6e653eaef31e4956ee9bf67b4874a9a8">day</a> () const</td></tr>
  113. <tr class="memdesc:a6e653eaef31e4956ee9bf67b4874a9a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the day of the month. <a href="#a6e653eaef31e4956ee9bf67b4874a9a8">More...</a><br /></td></tr>
  114. <tr class="separator:a6e653eaef31e4956ee9bf67b4874a9a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  115. <tr class="memitem:ac17441fb0c669bcf3be5de278335e8d0"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#ac17441fb0c669bcf3be5de278335e8d0">hour</a> () const</td></tr>
  116. <tr class="memdesc:ac17441fb0c669bcf3be5de278335e8d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the hour. <a href="#ac17441fb0c669bcf3be5de278335e8d0">More...</a><br /></td></tr>
  117. <tr class="separator:ac17441fb0c669bcf3be5de278335e8d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  118. <tr class="memitem:a5738404586a60d787aaaa4735913e9c7"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a5738404586a60d787aaaa4735913e9c7">twelveHour</a> () const</td></tr>
  119. <tr class="memdesc:a5738404586a60d787aaaa4735913e9c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the hour in 12-hour format. <a href="#a5738404586a60d787aaaa4735913e9c7">More...</a><br /></td></tr>
  120. <tr class="separator:a5738404586a60d787aaaa4735913e9c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  121. <tr class="memitem:a0c11137c3e56e1b7cc7a6dccee755b8e"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a0c11137c3e56e1b7cc7a6dccee755b8e">isPM</a> () const</td></tr>
  122. <tr class="memdesc:a0c11137c3e56e1b7cc7a6dccee755b8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return whether the time is PM. <a href="#a0c11137c3e56e1b7cc7a6dccee755b8e">More...</a><br /></td></tr>
  123. <tr class="separator:a0c11137c3e56e1b7cc7a6dccee755b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  124. <tr class="memitem:a8dac4d21cf40f1b6f1ec5973024709ed"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a8dac4d21cf40f1b6f1ec5973024709ed">minute</a> () const</td></tr>
  125. <tr class="memdesc:a8dac4d21cf40f1b6f1ec5973024709ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the minute. <a href="#a8dac4d21cf40f1b6f1ec5973024709ed">More...</a><br /></td></tr>
  126. <tr class="separator:a8dac4d21cf40f1b6f1ec5973024709ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
  127. <tr class="memitem:adacdb3c0984bc73c2b48e5d1995a6c01"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#adacdb3c0984bc73c2b48e5d1995a6c01">second</a> () const</td></tr>
  128. <tr class="memdesc:adacdb3c0984bc73c2b48e5d1995a6c01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the second. <a href="#adacdb3c0984bc73c2b48e5d1995a6c01">More...</a><br /></td></tr>
  129. <tr class="separator:adacdb3c0984bc73c2b48e5d1995a6c01"><td class="memSeparator" colspan="2">&#160;</td></tr>
  130. <tr class="memitem:a958229f0d6a46d092658028d25a9e65c"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a958229f0d6a46d092658028d25a9e65c">dayOfTheWeek</a> () const</td></tr>
  131. <tr class="memdesc:a958229f0d6a46d092658028d25a9e65c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the day of the week. <a href="#a958229f0d6a46d092658028d25a9e65c">More...</a><br /></td></tr>
  132. <tr class="separator:a958229f0d6a46d092658028d25a9e65c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  133. <tr class="memitem:a15a271a5c566550e3feae2b9624430f0"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a15a271a5c566550e3feae2b9624430f0">secondstime</a> () const</td></tr>
  134. <tr class="memdesc:a15a271a5c566550e3feae2b9624430f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert the <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> to seconds since 1 Jan 2000. <a href="#a15a271a5c566550e3feae2b9624430f0">More...</a><br /></td></tr>
  135. <tr class="separator:a15a271a5c566550e3feae2b9624430f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  136. <tr class="memitem:ae4629e7b2ffeac4a0c8f8c3f9c545990"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#ae4629e7b2ffeac4a0c8f8c3f9c545990">unixtime</a> (void) const</td></tr>
  137. <tr class="memdesc:ae4629e7b2ffeac4a0c8f8c3f9c545990"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return Unix time: seconds since 1 Jan 1970. <a href="#ae4629e7b2ffeac4a0c8f8c3f9c545990">More...</a><br /></td></tr>
  138. <tr class="separator:ae4629e7b2ffeac4a0c8f8c3f9c545990"><td class="memSeparator" colspan="2">&#160;</td></tr>
  139. <tr class="memitem:ab13d6eeee16d78b845f6eed5764951e3"><td class="memItemLeft" align="right" valign="top">String&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#ab13d6eeee16d78b845f6eed5764951e3">timestamp</a> (<a class="el" href="class_date_time.html#a3f65aa183f72c285a03f7dd04321285a">timestampOpt</a> opt=<a class="el" href="class_date_time.html#a3f65aa183f72c285a03f7dd04321285aa784e65d72227eca32bea310d8e067f62">TIMESTAMP_FULL</a>) const</td></tr>
  140. <tr class="memdesc:ab13d6eeee16d78b845f6eed5764951e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a ISO 8601 timestamp as a <code>String</code> object. <a href="#ab13d6eeee16d78b845f6eed5764951e3">More...</a><br /></td></tr>
  141. <tr class="separator:ab13d6eeee16d78b845f6eed5764951e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  142. <tr class="memitem:a8d6b85fa26106369e81da7b824e78936"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_date_time.html">DateTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a8d6b85fa26106369e81da7b824e78936">operator+</a> (const <a class="el" href="class_time_span.html">TimeSpan</a> &amp;span) const</td></tr>
  143. <tr class="memdesc:a8d6b85fa26106369e81da7b824e78936"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <a class="el" href="class_time_span.html" title="Timespan which can represent changes in time with seconds accuracy. ">TimeSpan</a> to the <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object. <a href="#a8d6b85fa26106369e81da7b824e78936">More...</a><br /></td></tr>
  144. <tr class="separator:a8d6b85fa26106369e81da7b824e78936"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. <tr class="memitem:aef3bee1f4e9de8d79426f35db1e0dbe4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_date_time.html">DateTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#aef3bee1f4e9de8d79426f35db1e0dbe4">operator-</a> (const <a class="el" href="class_time_span.html">TimeSpan</a> &amp;span) const</td></tr>
  146. <tr class="memdesc:aef3bee1f4e9de8d79426f35db1e0dbe4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract a <a class="el" href="class_time_span.html" title="Timespan which can represent changes in time with seconds accuracy. ">TimeSpan</a> from the <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object. <a href="#aef3bee1f4e9de8d79426f35db1e0dbe4">More...</a><br /></td></tr>
  147. <tr class="separator:aef3bee1f4e9de8d79426f35db1e0dbe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  148. <tr class="memitem:ac901785851a822ae9051c7916559198f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_time_span.html">TimeSpan</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#ac901785851a822ae9051c7916559198f">operator-</a> (const <a class="el" href="class_date_time.html">DateTime</a> &amp;right) const</td></tr>
  149. <tr class="memdesc:ac901785851a822ae9051c7916559198f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract one <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> from another. <a href="#ac901785851a822ae9051c7916559198f">More...</a><br /></td></tr>
  150. <tr class="separator:ac901785851a822ae9051c7916559198f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  151. <tr class="memitem:a6f1288d0205e97f86dfecfc7fd7b4e60"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a6f1288d0205e97f86dfecfc7fd7b4e60">operator&lt;</a> (const <a class="el" href="class_date_time.html">DateTime</a> &amp;right) const</td></tr>
  152. <tr class="memdesc:a6f1288d0205e97f86dfecfc7fd7b4e60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if one <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> is less (earlier) than another. <a href="#a6f1288d0205e97f86dfecfc7fd7b4e60">More...</a><br /></td></tr>
  153. <tr class="separator:a6f1288d0205e97f86dfecfc7fd7b4e60"><td class="memSeparator" colspan="2">&#160;</td></tr>
  154. <tr class="memitem:a0cbf838febb24c433bd517cbb75a3e8c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a0cbf838febb24c433bd517cbb75a3e8c">operator&gt;</a> (const <a class="el" href="class_date_time.html">DateTime</a> &amp;right) const</td></tr>
  155. <tr class="memdesc:a0cbf838febb24c433bd517cbb75a3e8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if one <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> is greater (later) than another. <a href="#a0cbf838febb24c433bd517cbb75a3e8c">More...</a><br /></td></tr>
  156. <tr class="separator:a0cbf838febb24c433bd517cbb75a3e8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  157. <tr class="memitem:af9da2ce38916caa365f24a38f5834b47"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#af9da2ce38916caa365f24a38f5834b47">operator&lt;=</a> (const <a class="el" href="class_date_time.html">DateTime</a> &amp;right) const</td></tr>
  158. <tr class="memdesc:af9da2ce38916caa365f24a38f5834b47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if one <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> is less (earlier) than or equal to another. <a href="#af9da2ce38916caa365f24a38f5834b47">More...</a><br /></td></tr>
  159. <tr class="separator:af9da2ce38916caa365f24a38f5834b47"><td class="memSeparator" colspan="2">&#160;</td></tr>
  160. <tr class="memitem:a380536b7398afa1f7dcff9df9054fcbb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a380536b7398afa1f7dcff9df9054fcbb">operator&gt;=</a> (const <a class="el" href="class_date_time.html">DateTime</a> &amp;right) const</td></tr>
  161. <tr class="memdesc:a380536b7398afa1f7dcff9df9054fcbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if one <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> is greater (later) than or equal to another. <a href="#a380536b7398afa1f7dcff9df9054fcbb">More...</a><br /></td></tr>
  162. <tr class="separator:a380536b7398afa1f7dcff9df9054fcbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  163. <tr class="memitem:a0c68b136471b6f8daf575ce399ca619c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a0c68b136471b6f8daf575ce399ca619c">operator==</a> (const <a class="el" href="class_date_time.html">DateTime</a> &amp;right) const</td></tr>
  164. <tr class="memdesc:a0c68b136471b6f8daf575ce399ca619c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if two <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> objects are equal. <a href="#a0c68b136471b6f8daf575ce399ca619c">More...</a><br /></td></tr>
  165. <tr class="separator:a0c68b136471b6f8daf575ce399ca619c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  166. <tr class="memitem:aa64131ebd35cb40ed616b111ea501760"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#aa64131ebd35cb40ed616b111ea501760">operator!=</a> (const <a class="el" href="class_date_time.html">DateTime</a> &amp;right) const</td></tr>
  167. <tr class="memdesc:aa64131ebd35cb40ed616b111ea501760"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if two <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> objects are not equal. <a href="#aa64131ebd35cb40ed616b111ea501760">More...</a><br /></td></tr>
  168. <tr class="separator:aa64131ebd35cb40ed616b111ea501760"><td class="memSeparator" colspan="2">&#160;</td></tr>
  169. </table><table class="memberdecls">
  170. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
  171. Protected Attributes</h2></td></tr>
  172. <tr class="memitem:ac0b5906cbb32751988603bf0388e7ab9"><td class="memItemLeft" align="right" valign="top"><a id="ac0b5906cbb32751988603bf0388e7ab9"></a>
  173. uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#ac0b5906cbb32751988603bf0388e7ab9">yOff</a></td></tr>
  174. <tr class="memdesc:ac0b5906cbb32751988603bf0388e7ab9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Year offset from 2000. <br /></td></tr>
  175. <tr class="separator:ac0b5906cbb32751988603bf0388e7ab9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  176. <tr class="memitem:a04c79ec05511462bc6a015e5b1088609"><td class="memItemLeft" align="right" valign="top"><a id="a04c79ec05511462bc6a015e5b1088609"></a>
  177. uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a04c79ec05511462bc6a015e5b1088609">m</a></td></tr>
  178. <tr class="memdesc:a04c79ec05511462bc6a015e5b1088609"><td class="mdescLeft">&#160;</td><td class="mdescRight">Month 1-12. <br /></td></tr>
  179. <tr class="separator:a04c79ec05511462bc6a015e5b1088609"><td class="memSeparator" colspan="2">&#160;</td></tr>
  180. <tr class="memitem:abad2ae4520c8a7f87fd242c0d9a53256"><td class="memItemLeft" align="right" valign="top"><a id="abad2ae4520c8a7f87fd242c0d9a53256"></a>
  181. uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#abad2ae4520c8a7f87fd242c0d9a53256">d</a></td></tr>
  182. <tr class="memdesc:abad2ae4520c8a7f87fd242c0d9a53256"><td class="mdescLeft">&#160;</td><td class="mdescRight">Day 1-31. <br /></td></tr>
  183. <tr class="separator:abad2ae4520c8a7f87fd242c0d9a53256"><td class="memSeparator" colspan="2">&#160;</td></tr>
  184. <tr class="memitem:ad65c31b7b4bf0430311e5bdf3f343371"><td class="memItemLeft" align="right" valign="top"><a id="ad65c31b7b4bf0430311e5bdf3f343371"></a>
  185. uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#ad65c31b7b4bf0430311e5bdf3f343371">hh</a></td></tr>
  186. <tr class="memdesc:ad65c31b7b4bf0430311e5bdf3f343371"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hours 0-23. <br /></td></tr>
  187. <tr class="separator:ad65c31b7b4bf0430311e5bdf3f343371"><td class="memSeparator" colspan="2">&#160;</td></tr>
  188. <tr class="memitem:af2cbffff9349832135c3280a18d21510"><td class="memItemLeft" align="right" valign="top"><a id="af2cbffff9349832135c3280a18d21510"></a>
  189. uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#af2cbffff9349832135c3280a18d21510">mm</a></td></tr>
  190. <tr class="memdesc:af2cbffff9349832135c3280a18d21510"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minutes 0-59. <br /></td></tr>
  191. <tr class="separator:af2cbffff9349832135c3280a18d21510"><td class="memSeparator" colspan="2">&#160;</td></tr>
  192. <tr class="memitem:a38da3481e6355fcf8ceb4c57eb9db0ce"><td class="memItemLeft" align="right" valign="top"><a id="a38da3481e6355fcf8ceb4c57eb9db0ce"></a>
  193. uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_date_time.html#a38da3481e6355fcf8ceb4c57eb9db0ce">ss</a></td></tr>
  194. <tr class="memdesc:a38da3481e6355fcf8ceb4c57eb9db0ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Seconds 0-59. <br /></td></tr>
  195. <tr class="separator:a38da3481e6355fcf8ceb4c57eb9db0ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
  196. </table>
  197. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  198. <div class="textblock"><p>Simple general-purpose date/time class (no TZ / DST / leap seconds). </p>
  199. <p>This class stores date and time information in a broken-down form, as a tuple (year, month, day, hour, minute, second). The day of the week is not stored, but computed on request. The class has no notion of time zones, daylight saving time, or <a href="http://en.wikipedia.org/wiki/Leap_second">leap seconds</a>: time is stored in whatever time zone the user chooses to use.</p>
  200. <p>The class supports dates in the range from 1 Jan 2000 to 31 Dec 2099 inclusive. </p>
  201. </div><h2 class="groupheader">Member Enumeration Documentation</h2>
  202. <a id="a3f65aa183f72c285a03f7dd04321285a"></a>
  203. <h2 class="memtitle"><span class="permalink"><a href="#a3f65aa183f72c285a03f7dd04321285a">&#9670;&nbsp;</a></span>timestampOpt</h2>
  204. <div class="memitem">
  205. <div class="memproto">
  206. <table class="memname">
  207. <tr>
  208. <td class="memname">enum <a class="el" href="class_date_time.html#a3f65aa183f72c285a03f7dd04321285a">DateTime::timestampOpt</a></td>
  209. </tr>
  210. </table>
  211. </div><div class="memdoc">
  212. <p>Format of the ISO 8601 timestamp generated by <code><a class="el" href="class_date_time.html#ab13d6eeee16d78b845f6eed5764951e3" title="Return a ISO 8601 timestamp as a String object. ">timestamp()</a></code>. Each option corresponds to a <code><a class="el" href="class_date_time.html#a27aad4b627b20de84c23d2b0ed657cba" title="Writes the DateTime as a string in a user-defined format. ">toString()</a></code> format as follows: </p>
  213. <table class="fieldtable">
  214. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3f65aa183f72c285a03f7dd04321285aa784e65d72227eca32bea310d8e067f62"></a>TIMESTAMP_FULL&#160;</td><td class="fielddoc"><p><code>YYYY-MM-DDThh:mm:ss</code> </p>
  215. </td></tr>
  216. <tr><td class="fieldname"><a id="a3f65aa183f72c285a03f7dd04321285aa917c6893834b9798f094165cc2bbc63b"></a>TIMESTAMP_TIME&#160;</td><td class="fielddoc"><p><code>hh:mm:ss</code> </p>
  217. </td></tr>
  218. <tr><td class="fieldname"><a id="a3f65aa183f72c285a03f7dd04321285aa3cd012ee63cddb295b466a3431449805"></a>TIMESTAMP_DATE&#160;</td><td class="fielddoc"><p><code>YYYY-MM-DD</code> </p>
  219. </td></tr>
  220. </table>
  221. </div>
  222. </div>
  223. <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  224. <a id="af221f098098c80edfcd71fbc256f457a"></a>
  225. <h2 class="memtitle"><span class="permalink"><a href="#af221f098098c80edfcd71fbc256f457a">&#9670;&nbsp;</a></span>DateTime() <span class="overload">[1/6]</span></h2>
  226. <div class="memitem">
  227. <div class="memproto">
  228. <table class="memname">
  229. <tr>
  230. <td class="memname">DateTime::DateTime </td>
  231. <td>(</td>
  232. <td class="paramtype">uint32_t&#160;</td>
  233. <td class="paramname"><em>t</em> = <code><a class="el" href="_r_t_clib_8h.html#a1a4c3c6b78fa47471646f18b572ddd46">SECONDS_FROM_1970_TO_2000</a></code></td><td>)</td>
  234. <td></td>
  235. </tr>
  236. </table>
  237. </div><div class="memdoc">
  238. <p>Constructor from <a href="https://en.wikipedia.org/wiki/Unix_time">Unix time</a>. </p>
  239. <p>This builds a <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> from an integer specifying the number of seconds elapsed since the epoch: 1970-01-01 00:00:00. This number is analogous to Unix time, with two small differences:</p>
  240. <ul>
  241. <li>The Unix epoch is specified to be at 00:00:00 <a href="https://en.wikipedia.org/wiki/Coordinated_Universal_Time">UTC</a>, whereas this class has no notion of time zones. The epoch used in this class is then at 00:00:00 on whatever time zone the user chooses to use, ignoring changes in DST.</li>
  242. <li>Unix time is conventionally represented with signed numbers, whereas this constructor takes an unsigned argument. Because of this, it does <em>not</em> suffer from the <a href="https://en.wikipedia.org/wiki/Year_2038_problem">year 2038 problem</a>.</li>
  243. </ul>
  244. <p>If called without argument, it returns the earliest time representable by this class: 2000-01-01 00:00:00.</p>
  245. <dl class="section see"><dt>See also</dt><dd>The <code><a class="el" href="class_date_time.html#ae4629e7b2ffeac4a0c8f8c3f9c545990" title="Return Unix time: seconds since 1 Jan 1970. ">unixtime()</a></code> method is the converse of this constructor.</dd></dl>
  246. <dl class="params"><dt>Parameters</dt><dd>
  247. <table class="params">
  248. <tr><td class="paramname">t</td><td>Time elapsed in seconds since 1970-01-01 00:00:00. </td></tr>
  249. </table>
  250. </dd>
  251. </dl>
  252. </div>
  253. </div>
  254. <a id="aad62a6709a1e65e6860b1efaf8c347e9"></a>
  255. <h2 class="memtitle"><span class="permalink"><a href="#aad62a6709a1e65e6860b1efaf8c347e9">&#9670;&nbsp;</a></span>DateTime() <span class="overload">[2/6]</span></h2>
  256. <div class="memitem">
  257. <div class="memproto">
  258. <table class="memname">
  259. <tr>
  260. <td class="memname">DateTime::DateTime </td>
  261. <td>(</td>
  262. <td class="paramtype">uint16_t&#160;</td>
  263. <td class="paramname"><em>year</em>, </td>
  264. </tr>
  265. <tr>
  266. <td class="paramkey"></td>
  267. <td></td>
  268. <td class="paramtype">uint8_t&#160;</td>
  269. <td class="paramname"><em>month</em>, </td>
  270. </tr>
  271. <tr>
  272. <td class="paramkey"></td>
  273. <td></td>
  274. <td class="paramtype">uint8_t&#160;</td>
  275. <td class="paramname"><em>day</em>, </td>
  276. </tr>
  277. <tr>
  278. <td class="paramkey"></td>
  279. <td></td>
  280. <td class="paramtype">uint8_t&#160;</td>
  281. <td class="paramname"><em>hour</em> = <code>0</code>, </td>
  282. </tr>
  283. <tr>
  284. <td class="paramkey"></td>
  285. <td></td>
  286. <td class="paramtype">uint8_t&#160;</td>
  287. <td class="paramname"><em>min</em> = <code>0</code>, </td>
  288. </tr>
  289. <tr>
  290. <td class="paramkey"></td>
  291. <td></td>
  292. <td class="paramtype">uint8_t&#160;</td>
  293. <td class="paramname"><em>sec</em> = <code>0</code>&#160;</td>
  294. </tr>
  295. <tr>
  296. <td></td>
  297. <td>)</td>
  298. <td></td><td></td>
  299. </tr>
  300. </table>
  301. </div><div class="memdoc">
  302. <p>Constructor from (year, month, day, hour, minute, second). </p>
  303. <dl class="section warning"><dt>Warning</dt><dd>If the provided parameters are not valid (e.g. 31 February), the constructed <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> will be invalid. </dd></dl>
  304. <dl class="section see"><dt>See also</dt><dd>The <code><a class="el" href="class_date_time.html#a21b2a59fbde555e5c5688d44e9d95aec" title="Check whether this DateTime is valid. ">isValid()</a></code> method can be used to test whether the constructed <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> is valid. </dd></dl>
  305. <dl class="params"><dt>Parameters</dt><dd>
  306. <table class="params">
  307. <tr><td class="paramname">year</td><td>Either the full year (range: 2000&ndash;2099) or the offset from year 2000 (range: 0&ndash;99). </td></tr>
  308. <tr><td class="paramname">month</td><td>Month number (1&ndash;12). </td></tr>
  309. <tr><td class="paramname">day</td><td>Day of the month (1&ndash;31). </td></tr>
  310. <tr><td class="paramname">hour,min,sec</td><td>Hour (0&ndash;23), minute (0&ndash;59) and second (0&ndash;59). </td></tr>
  311. </table>
  312. </dd>
  313. </dl>
  314. </div>
  315. </div>
  316. <a id="a50502a3a29409c6c2507638779df1a9d"></a>
  317. <h2 class="memtitle"><span class="permalink"><a href="#a50502a3a29409c6c2507638779df1a9d">&#9670;&nbsp;</a></span>DateTime() <span class="overload">[3/6]</span></h2>
  318. <div class="memitem">
  319. <div class="memproto">
  320. <table class="memname">
  321. <tr>
  322. <td class="memname">DateTime::DateTime </td>
  323. <td>(</td>
  324. <td class="paramtype">const <a class="el" href="class_date_time.html">DateTime</a> &amp;&#160;</td>
  325. <td class="paramname"><em>copy</em></td><td>)</td>
  326. <td></td>
  327. </tr>
  328. </table>
  329. </div><div class="memdoc">
  330. <p>Copy constructor. </p>
  331. <dl class="params"><dt>Parameters</dt><dd>
  332. <table class="params">
  333. <tr><td class="paramname">copy</td><td><a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> to copy. </td></tr>
  334. </table>
  335. </dd>
  336. </dl>
  337. </div>
  338. </div>
  339. <a id="aabeb5303c98a004439fe337bb5f5da63"></a>
  340. <h2 class="memtitle"><span class="permalink"><a href="#aabeb5303c98a004439fe337bb5f5da63">&#9670;&nbsp;</a></span>DateTime() <span class="overload">[4/6]</span></h2>
  341. <div class="memitem">
  342. <div class="memproto">
  343. <table class="memname">
  344. <tr>
  345. <td class="memname">DateTime::DateTime </td>
  346. <td>(</td>
  347. <td class="paramtype">const char *&#160;</td>
  348. <td class="paramname"><em>date</em>, </td>
  349. </tr>
  350. <tr>
  351. <td class="paramkey"></td>
  352. <td></td>
  353. <td class="paramtype">const char *&#160;</td>
  354. <td class="paramname"><em>time</em>&#160;</td>
  355. </tr>
  356. <tr>
  357. <td></td>
  358. <td>)</td>
  359. <td></td><td></td>
  360. </tr>
  361. </table>
  362. </div><div class="memdoc">
  363. <p>Constructor for generating the build time. </p>
  364. <p>This constructor expects its parameters to be strings in the format generated by the compiler's preprocessor macros <code>__DATE__</code> and <code>__TIME__</code>. Usage:</p>
  365. <div class="fragment"><div class="line"><a class="code" href="class_date_time.html">DateTime</a> buildTime(__DATE__, __TIME__);</div></div><!-- fragment --><dl class="section note"><dt>Note</dt><dd>The <code>F()</code> macro can be used to reduce the RAM footprint, see the next constructor.</dd></dl>
  366. <dl class="params"><dt>Parameters</dt><dd>
  367. <table class="params">
  368. <tr><td class="paramname">date</td><td>Date string, e.g. "Apr 16 2020". </td></tr>
  369. <tr><td class="paramname">time</td><td>Time string, e.g. "18:34:56". </td></tr>
  370. </table>
  371. </dd>
  372. </dl>
  373. </div>
  374. </div>
  375. <a id="a75e22d94bd5ab883ec56e6581e04a2d7"></a>
  376. <h2 class="memtitle"><span class="permalink"><a href="#a75e22d94bd5ab883ec56e6581e04a2d7">&#9670;&nbsp;</a></span>DateTime() <span class="overload">[5/6]</span></h2>
  377. <div class="memitem">
  378. <div class="memproto">
  379. <table class="memname">
  380. <tr>
  381. <td class="memname">DateTime::DateTime </td>
  382. <td>(</td>
  383. <td class="paramtype">const __FlashStringHelper *&#160;</td>
  384. <td class="paramname"><em>date</em>, </td>
  385. </tr>
  386. <tr>
  387. <td class="paramkey"></td>
  388. <td></td>
  389. <td class="paramtype">const __FlashStringHelper *&#160;</td>
  390. <td class="paramname"><em>time</em>&#160;</td>
  391. </tr>
  392. <tr>
  393. <td></td>
  394. <td>)</td>
  395. <td></td><td></td>
  396. </tr>
  397. </table>
  398. </div><div class="memdoc">
  399. <p>Memory friendly constructor for generating the build time. </p>
  400. <p>This version is intended to save RAM by keeping the date and time strings in program memory. Use it with the <code>F()</code> macro:</p>
  401. <div class="fragment"><div class="line"><a class="code" href="class_date_time.html">DateTime</a> buildTime(F(__DATE__), F(__TIME__));</div></div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
  402. <table class="params">
  403. <tr><td class="paramname">date</td><td>Date PROGMEM string, e.g. F("Apr 16 2020"). </td></tr>
  404. <tr><td class="paramname">time</td><td>Time PROGMEM string, e.g. F("18:34:56"). </td></tr>
  405. </table>
  406. </dd>
  407. </dl>
  408. </div>
  409. </div>
  410. <a id="a6093674ec825488817cd7576e46213da"></a>
  411. <h2 class="memtitle"><span class="permalink"><a href="#a6093674ec825488817cd7576e46213da">&#9670;&nbsp;</a></span>DateTime() <span class="overload">[6/6]</span></h2>
  412. <div class="memitem">
  413. <div class="memproto">
  414. <table class="memname">
  415. <tr>
  416. <td class="memname">DateTime::DateTime </td>
  417. <td>(</td>
  418. <td class="paramtype">const char *&#160;</td>
  419. <td class="paramname"><em>iso8601dateTime</em></td><td>)</td>
  420. <td></td>
  421. </tr>
  422. </table>
  423. </div><div class="memdoc">
  424. <p>Constructor for creating a <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> from an ISO8601 date string. </p>
  425. <p>This constructor expects its parameters to be a string in the <a href="https://en.wikipedia.org/wiki/ISO_8601">https://en.wikipedia.org/wiki/ISO_8601</a> format, e.g:</p>
  426. <p>"2020-06-25T15:29:37"</p>
  427. <p>Usage:</p>
  428. <div class="fragment"><div class="line"><a class="code" href="class_date_time.html">DateTime</a> dt(<span class="stringliteral">&quot;2020-06-25T15:29:37&quot;</span>);</div></div><!-- fragment --><dl class="section note"><dt>Note</dt><dd>The year must be &gt; 2000, as only the yOff is considered.</dd></dl>
  429. <dl class="params"><dt>Parameters</dt><dd>
  430. <table class="params">
  431. <tr><td class="paramname">iso8601dateTime</td><td>A dateTime string in iso8601 format, e.g. "2020-06-25T15:29:37". </td></tr>
  432. </table>
  433. </dd>
  434. </dl>
  435. </div>
  436. </div>
  437. <h2 class="groupheader">Member Function Documentation</h2>
  438. <a id="a21b2a59fbde555e5c5688d44e9d95aec"></a>
  439. <h2 class="memtitle"><span class="permalink"><a href="#a21b2a59fbde555e5c5688d44e9d95aec">&#9670;&nbsp;</a></span>isValid()</h2>
  440. <div class="memitem">
  441. <div class="memproto">
  442. <table class="memname">
  443. <tr>
  444. <td class="memname">bool DateTime::isValid </td>
  445. <td>(</td>
  446. <td class="paramname"></td><td>)</td>
  447. <td> const</td>
  448. </tr>
  449. </table>
  450. </div><div class="memdoc">
  451. <p>Check whether this <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> is valid. </p>
  452. <dl class="section return"><dt>Returns</dt><dd>true if valid, false if not. </dd></dl>
  453. </div>
  454. </div>
  455. <a id="a27aad4b627b20de84c23d2b0ed657cba"></a>
  456. <h2 class="memtitle"><span class="permalink"><a href="#a27aad4b627b20de84c23d2b0ed657cba">&#9670;&nbsp;</a></span>toString()</h2>
  457. <div class="memitem">
  458. <div class="memproto">
  459. <table class="memname">
  460. <tr>
  461. <td class="memname">char * DateTime::toString </td>
  462. <td>(</td>
  463. <td class="paramtype">char *&#160;</td>
  464. <td class="paramname"><em>buffer</em></td><td>)</td>
  465. <td> const</td>
  466. </tr>
  467. </table>
  468. </div><div class="memdoc">
  469. <p>Writes the <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> as a string in a user-defined format. </p>
  470. <p>The <em>buffer</em> parameter should be initialized by the caller with a string specifying the requested format. This format string may contain any of the following specifiers:</p>
  471. <table class="doxtable">
  472. <tr>
  473. <th>specifier </th><th>output </th></tr>
  474. <tr>
  475. <td>YYYY </td><td>the year as a 4-digit number (2000&ndash;2099) </td></tr>
  476. <tr>
  477. <td>YY </td><td>the year as a 2-digit number (00&ndash;99) </td></tr>
  478. <tr>
  479. <td>MM </td><td>the month as a 2-digit number (01&ndash;12) </td></tr>
  480. <tr>
  481. <td>MMM </td><td>the abbreviated English month name ("Jan"&ndash;"Dec") </td></tr>
  482. <tr>
  483. <td>DD </td><td>the day as a 2-digit number (01&ndash;31) </td></tr>
  484. <tr>
  485. <td>DDD </td><td>the abbreviated English day of the week ("Mon"&ndash;"Sun") </td></tr>
  486. <tr>
  487. <td>AP </td><td>either "AM" or "PM" </td></tr>
  488. <tr>
  489. <td>ap </td><td>either "am" or "pm" </td></tr>
  490. <tr>
  491. <td>hh </td><td>the hour as a 2-digit number (00&ndash;23 or 01&ndash;12) </td></tr>
  492. <tr>
  493. <td>mm </td><td>the minute as a 2-digit number (00&ndash;59) </td></tr>
  494. <tr>
  495. <td>ss </td><td>the second as a 2-digit number (00&ndash;59) </td></tr>
  496. </table>
  497. <p>If either "AP" or "ap" is used, the "hh" specifier uses 12-hour mode (range: 01&ndash;12). Otherwise it works in 24-hour mode (range: 00&ndash;23).</p>
  498. <p>The specifiers within <em>buffer</em> will be overwritten with the appropriate values from the <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a>. Any characters not belonging to one of the above specifiers are left as-is.</p>
  499. <p><b>Example</b>: The format "DDD, DD MMM YYYY hh:mm:ss" generates an output of the form "Thu, 16 Apr 2020 18:34:56.</p>
  500. <dl class="section see"><dt>See also</dt><dd>The <code><a class="el" href="class_date_time.html#ab13d6eeee16d78b845f6eed5764951e3" title="Return a ISO 8601 timestamp as a String object. ">timestamp()</a></code> method provides similar functionnality, but it returns a <code>String</code> object and supports a limited choice of predefined formats.</dd></dl>
  501. <dl class="params"><dt>Parameters</dt><dd>
  502. <table class="params">
  503. <tr><td class="paramdir">[in,out]</td><td class="paramname">buffer</td><td>Array of <code>char</code> for holding the format description and the formatted <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a>. Before calling this method, the buffer should be initialized by the user with the format string. The method will overwrite the buffer with the formatted date and/or time.</td></tr>
  504. </table>
  505. </dd>
  506. </dl>
  507. <dl class="section return"><dt>Returns</dt><dd>A pointer to the provided buffer. This is returned for convenience, in order to enable idioms such as <code>Serial.println(now.toString(buffer));</code> </dd></dl>
  508. </div>
  509. </div>
  510. <a id="a04bc8f3d3452bf8fcc5f1e82d86d7fe8"></a>
  511. <h2 class="memtitle"><span class="permalink"><a href="#a04bc8f3d3452bf8fcc5f1e82d86d7fe8">&#9670;&nbsp;</a></span>year()</h2>
  512. <div class="memitem">
  513. <div class="memproto">
  514. <table class="mlabels">
  515. <tr>
  516. <td class="mlabels-left">
  517. <table class="memname">
  518. <tr>
  519. <td class="memname">uint16_t DateTime::year </td>
  520. <td>(</td>
  521. <td class="paramname"></td><td>)</td>
  522. <td> const</td>
  523. </tr>
  524. </table>
  525. </td>
  526. <td class="mlabels-right">
  527. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  528. </tr>
  529. </table>
  530. </div><div class="memdoc">
  531. <p>Return the year. </p>
  532. <dl class="section return"><dt>Returns</dt><dd>Year (range: 2000&ndash;2099). </dd></dl>
  533. </div>
  534. </div>
  535. <a id="a10d35aa20ebb179cdb4b61f90dfcfe74"></a>
  536. <h2 class="memtitle"><span class="permalink"><a href="#a10d35aa20ebb179cdb4b61f90dfcfe74">&#9670;&nbsp;</a></span>month()</h2>
  537. <div class="memitem">
  538. <div class="memproto">
  539. <table class="mlabels">
  540. <tr>
  541. <td class="mlabels-left">
  542. <table class="memname">
  543. <tr>
  544. <td class="memname">uint8_t DateTime::month </td>
  545. <td>(</td>
  546. <td class="paramname"></td><td>)</td>
  547. <td> const</td>
  548. </tr>
  549. </table>
  550. </td>
  551. <td class="mlabels-right">
  552. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  553. </tr>
  554. </table>
  555. </div><div class="memdoc">
  556. <p>Return the month. </p>
  557. <dl class="section return"><dt>Returns</dt><dd>Month number (1&ndash;12). </dd></dl>
  558. </div>
  559. </div>
  560. <a id="a6e653eaef31e4956ee9bf67b4874a9a8"></a>
  561. <h2 class="memtitle"><span class="permalink"><a href="#a6e653eaef31e4956ee9bf67b4874a9a8">&#9670;&nbsp;</a></span>day()</h2>
  562. <div class="memitem">
  563. <div class="memproto">
  564. <table class="mlabels">
  565. <tr>
  566. <td class="mlabels-left">
  567. <table class="memname">
  568. <tr>
  569. <td class="memname">uint8_t DateTime::day </td>
  570. <td>(</td>
  571. <td class="paramname"></td><td>)</td>
  572. <td> const</td>
  573. </tr>
  574. </table>
  575. </td>
  576. <td class="mlabels-right">
  577. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  578. </tr>
  579. </table>
  580. </div><div class="memdoc">
  581. <p>Return the day of the month. </p>
  582. <dl class="section return"><dt>Returns</dt><dd>Day of the month (1&ndash;31). </dd></dl>
  583. </div>
  584. </div>
  585. <a id="ac17441fb0c669bcf3be5de278335e8d0"></a>
  586. <h2 class="memtitle"><span class="permalink"><a href="#ac17441fb0c669bcf3be5de278335e8d0">&#9670;&nbsp;</a></span>hour()</h2>
  587. <div class="memitem">
  588. <div class="memproto">
  589. <table class="mlabels">
  590. <tr>
  591. <td class="mlabels-left">
  592. <table class="memname">
  593. <tr>
  594. <td class="memname">uint8_t DateTime::hour </td>
  595. <td>(</td>
  596. <td class="paramname"></td><td>)</td>
  597. <td> const</td>
  598. </tr>
  599. </table>
  600. </td>
  601. <td class="mlabels-right">
  602. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  603. </tr>
  604. </table>
  605. </div><div class="memdoc">
  606. <p>Return the hour. </p>
  607. <dl class="section return"><dt>Returns</dt><dd>Hour (0&ndash;23). </dd></dl>
  608. </div>
  609. </div>
  610. <a id="a5738404586a60d787aaaa4735913e9c7"></a>
  611. <h2 class="memtitle"><span class="permalink"><a href="#a5738404586a60d787aaaa4735913e9c7">&#9670;&nbsp;</a></span>twelveHour()</h2>
  612. <div class="memitem">
  613. <div class="memproto">
  614. <table class="memname">
  615. <tr>
  616. <td class="memname">uint8_t DateTime::twelveHour </td>
  617. <td>(</td>
  618. <td class="paramname"></td><td>)</td>
  619. <td> const</td>
  620. </tr>
  621. </table>
  622. </div><div class="memdoc">
  623. <p>Return the hour in 12-hour format. </p>
  624. <dl class="section return"><dt>Returns</dt><dd>Hour (1&ndash;12). </dd></dl>
  625. </div>
  626. </div>
  627. <a id="a0c11137c3e56e1b7cc7a6dccee755b8e"></a>
  628. <h2 class="memtitle"><span class="permalink"><a href="#a0c11137c3e56e1b7cc7a6dccee755b8e">&#9670;&nbsp;</a></span>isPM()</h2>
  629. <div class="memitem">
  630. <div class="memproto">
  631. <table class="mlabels">
  632. <tr>
  633. <td class="mlabels-left">
  634. <table class="memname">
  635. <tr>
  636. <td class="memname">uint8_t DateTime::isPM </td>
  637. <td>(</td>
  638. <td class="paramname"></td><td>)</td>
  639. <td> const</td>
  640. </tr>
  641. </table>
  642. </td>
  643. <td class="mlabels-right">
  644. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  645. </tr>
  646. </table>
  647. </div><div class="memdoc">
  648. <p>Return whether the time is PM. </p>
  649. <dl class="section return"><dt>Returns</dt><dd>0 if the time is AM, 1 if it's PM. </dd></dl>
  650. </div>
  651. </div>
  652. <a id="a8dac4d21cf40f1b6f1ec5973024709ed"></a>
  653. <h2 class="memtitle"><span class="permalink"><a href="#a8dac4d21cf40f1b6f1ec5973024709ed">&#9670;&nbsp;</a></span>minute()</h2>
  654. <div class="memitem">
  655. <div class="memproto">
  656. <table class="mlabels">
  657. <tr>
  658. <td class="mlabels-left">
  659. <table class="memname">
  660. <tr>
  661. <td class="memname">uint8_t DateTime::minute </td>
  662. <td>(</td>
  663. <td class="paramname"></td><td>)</td>
  664. <td> const</td>
  665. </tr>
  666. </table>
  667. </td>
  668. <td class="mlabels-right">
  669. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  670. </tr>
  671. </table>
  672. </div><div class="memdoc">
  673. <p>Return the minute. </p>
  674. <dl class="section return"><dt>Returns</dt><dd>Minute (0&ndash;59). </dd></dl>
  675. </div>
  676. </div>
  677. <a id="adacdb3c0984bc73c2b48e5d1995a6c01"></a>
  678. <h2 class="memtitle"><span class="permalink"><a href="#adacdb3c0984bc73c2b48e5d1995a6c01">&#9670;&nbsp;</a></span>second()</h2>
  679. <div class="memitem">
  680. <div class="memproto">
  681. <table class="mlabels">
  682. <tr>
  683. <td class="mlabels-left">
  684. <table class="memname">
  685. <tr>
  686. <td class="memname">uint8_t DateTime::second </td>
  687. <td>(</td>
  688. <td class="paramname"></td><td>)</td>
  689. <td> const</td>
  690. </tr>
  691. </table>
  692. </td>
  693. <td class="mlabels-right">
  694. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  695. </tr>
  696. </table>
  697. </div><div class="memdoc">
  698. <p>Return the second. </p>
  699. <dl class="section return"><dt>Returns</dt><dd>Second (0&ndash;59). </dd></dl>
  700. </div>
  701. </div>
  702. <a id="a958229f0d6a46d092658028d25a9e65c"></a>
  703. <h2 class="memtitle"><span class="permalink"><a href="#a958229f0d6a46d092658028d25a9e65c">&#9670;&nbsp;</a></span>dayOfTheWeek()</h2>
  704. <div class="memitem">
  705. <div class="memproto">
  706. <table class="memname">
  707. <tr>
  708. <td class="memname">uint8_t DateTime::dayOfTheWeek </td>
  709. <td>(</td>
  710. <td class="paramname"></td><td>)</td>
  711. <td> const</td>
  712. </tr>
  713. </table>
  714. </div><div class="memdoc">
  715. <p>Return the day of the week. </p>
  716. <dl class="section return"><dt>Returns</dt><dd>Day of week as an integer from 0 (Sunday) to 6 (Saturday). </dd></dl>
  717. </div>
  718. </div>
  719. <a id="a15a271a5c566550e3feae2b9624430f0"></a>
  720. <h2 class="memtitle"><span class="permalink"><a href="#a15a271a5c566550e3feae2b9624430f0">&#9670;&nbsp;</a></span>secondstime()</h2>
  721. <div class="memitem">
  722. <div class="memproto">
  723. <table class="memname">
  724. <tr>
  725. <td class="memname">uint32_t DateTime::secondstime </td>
  726. <td>(</td>
  727. <td class="paramtype">void&#160;</td>
  728. <td class="paramname"></td><td>)</td>
  729. <td> const</td>
  730. </tr>
  731. </table>
  732. </div><div class="memdoc">
  733. <p>Convert the <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> to seconds since 1 Jan 2000. </p>
  734. <p>The result can be converted back to a <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> with:</p>
  735. <div class="fragment"><div class="line"><a class="code" href="class_date_time.html#af221f098098c80edfcd71fbc256f457a">DateTime</a>(<a class="code" href="_r_t_clib_8h.html#a1a4c3c6b78fa47471646f18b572ddd46">SECONDS_FROM_1970_TO_2000</a> + value)</div></div><!-- fragment --><dl class="section return"><dt>Returns</dt><dd>Number of seconds since 2000-01-01 00:00:00. </dd></dl>
  736. </div>
  737. </div>
  738. <a id="ae4629e7b2ffeac4a0c8f8c3f9c545990"></a>
  739. <h2 class="memtitle"><span class="permalink"><a href="#ae4629e7b2ffeac4a0c8f8c3f9c545990">&#9670;&nbsp;</a></span>unixtime()</h2>
  740. <div class="memitem">
  741. <div class="memproto">
  742. <table class="memname">
  743. <tr>
  744. <td class="memname">uint32_t DateTime::unixtime </td>
  745. <td>(</td>
  746. <td class="paramtype">void&#160;</td>
  747. <td class="paramname"></td><td>)</td>
  748. <td> const</td>
  749. </tr>
  750. </table>
  751. </div><div class="memdoc">
  752. <p>Return Unix time: seconds since 1 Jan 1970. </p>
  753. <dl class="section see"><dt>See also</dt><dd>The <code><a class="el" href="class_date_time.html#af221f098098c80edfcd71fbc256f457a" title="Constructor from Unix time. ">DateTime::DateTime(uint32_t)</a></code> constructor is the converse of this method.</dd></dl>
  754. <dl class="section return"><dt>Returns</dt><dd>Number of seconds since 1970-01-01 00:00:00. </dd></dl>
  755. </div>
  756. </div>
  757. <a id="ab13d6eeee16d78b845f6eed5764951e3"></a>
  758. <h2 class="memtitle"><span class="permalink"><a href="#ab13d6eeee16d78b845f6eed5764951e3">&#9670;&nbsp;</a></span>timestamp()</h2>
  759. <div class="memitem">
  760. <div class="memproto">
  761. <table class="memname">
  762. <tr>
  763. <td class="memname">String DateTime::timestamp </td>
  764. <td>(</td>
  765. <td class="paramtype"><a class="el" href="class_date_time.html#a3f65aa183f72c285a03f7dd04321285a">timestampOpt</a>&#160;</td>
  766. <td class="paramname"><em>opt</em> = <code><a class="el" href="class_date_time.html#a3f65aa183f72c285a03f7dd04321285aa784e65d72227eca32bea310d8e067f62">TIMESTAMP_FULL</a></code></td><td>)</td>
  767. <td> const</td>
  768. </tr>
  769. </table>
  770. </div><div class="memdoc">
  771. <p>Return a ISO 8601 timestamp as a <code>String</code> object. </p>
  772. <p>The generated timestamp conforms to one of the predefined, ISO 8601-compatible formats for representing the date (if <em>opt</em> is <code>TIMESTAMP_DATE</code>), the time (<code>TIMESTAMP_TIME</code>), or both (<code>TIMESTAMP_FULL</code>).</p>
  773. <dl class="section see"><dt>See also</dt><dd>The <code><a class="el" href="class_date_time.html#a27aad4b627b20de84c23d2b0ed657cba" title="Writes the DateTime as a string in a user-defined format. ">toString()</a></code> method provides more general string formatting.</dd></dl>
  774. <dl class="params"><dt>Parameters</dt><dd>
  775. <table class="params">
  776. <tr><td class="paramname">opt</td><td>Format of the timestamp </td></tr>
  777. </table>
  778. </dd>
  779. </dl>
  780. <dl class="section return"><dt>Returns</dt><dd>Timestamp string, e.g. "2020-04-16T18:34:56". </dd></dl>
  781. </div>
  782. </div>
  783. <a id="a8d6b85fa26106369e81da7b824e78936"></a>
  784. <h2 class="memtitle"><span class="permalink"><a href="#a8d6b85fa26106369e81da7b824e78936">&#9670;&nbsp;</a></span>operator+()</h2>
  785. <div class="memitem">
  786. <div class="memproto">
  787. <table class="memname">
  788. <tr>
  789. <td class="memname"><a class="el" href="class_date_time.html">DateTime</a> DateTime::operator+ </td>
  790. <td>(</td>
  791. <td class="paramtype">const <a class="el" href="class_time_span.html">TimeSpan</a> &amp;&#160;</td>
  792. <td class="paramname"><em>span</em></td><td>)</td>
  793. <td> const</td>
  794. </tr>
  795. </table>
  796. </div><div class="memdoc">
  797. <p>Add a <a class="el" href="class_time_span.html" title="Timespan which can represent changes in time with seconds accuracy. ">TimeSpan</a> to the <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object. </p>
  798. <dl class="params"><dt>Parameters</dt><dd>
  799. <table class="params">
  800. <tr><td class="paramname">span</td><td><a class="el" href="class_time_span.html" title="Timespan which can represent changes in time with seconds accuracy. ">TimeSpan</a> object </td></tr>
  801. </table>
  802. </dd>
  803. </dl>
  804. <dl class="section return"><dt>Returns</dt><dd>New <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object with span added to it. </dd></dl>
  805. </div>
  806. </div>
  807. <a id="aef3bee1f4e9de8d79426f35db1e0dbe4"></a>
  808. <h2 class="memtitle"><span class="permalink"><a href="#aef3bee1f4e9de8d79426f35db1e0dbe4">&#9670;&nbsp;</a></span>operator-() <span class="overload">[1/2]</span></h2>
  809. <div class="memitem">
  810. <div class="memproto">
  811. <table class="memname">
  812. <tr>
  813. <td class="memname"><a class="el" href="class_date_time.html">DateTime</a> DateTime::operator- </td>
  814. <td>(</td>
  815. <td class="paramtype">const <a class="el" href="class_time_span.html">TimeSpan</a> &amp;&#160;</td>
  816. <td class="paramname"><em>span</em></td><td>)</td>
  817. <td> const</td>
  818. </tr>
  819. </table>
  820. </div><div class="memdoc">
  821. <p>Subtract a <a class="el" href="class_time_span.html" title="Timespan which can represent changes in time with seconds accuracy. ">TimeSpan</a> from the <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object. </p>
  822. <dl class="params"><dt>Parameters</dt><dd>
  823. <table class="params">
  824. <tr><td class="paramname">span</td><td><a class="el" href="class_time_span.html" title="Timespan which can represent changes in time with seconds accuracy. ">TimeSpan</a> object </td></tr>
  825. </table>
  826. </dd>
  827. </dl>
  828. <dl class="section return"><dt>Returns</dt><dd>New <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object with span subtracted from it. </dd></dl>
  829. </div>
  830. </div>
  831. <a id="ac901785851a822ae9051c7916559198f"></a>
  832. <h2 class="memtitle"><span class="permalink"><a href="#ac901785851a822ae9051c7916559198f">&#9670;&nbsp;</a></span>operator-() <span class="overload">[2/2]</span></h2>
  833. <div class="memitem">
  834. <div class="memproto">
  835. <table class="memname">
  836. <tr>
  837. <td class="memname"><a class="el" href="class_time_span.html">TimeSpan</a> DateTime::operator- </td>
  838. <td>(</td>
  839. <td class="paramtype">const <a class="el" href="class_date_time.html">DateTime</a> &amp;&#160;</td>
  840. <td class="paramname"><em>right</em></td><td>)</td>
  841. <td> const</td>
  842. </tr>
  843. </table>
  844. </div><div class="memdoc">
  845. <p>Subtract one <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> from another. </p>
  846. <dl class="section note"><dt>Note</dt><dd>Since a <a class="el" href="class_time_span.html" title="Timespan which can represent changes in time with seconds accuracy. ">TimeSpan</a> cannot be negative, the subtracted <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> should be less (earlier) than or equal to the one it is subtracted from.</dd></dl>
  847. <dl class="params"><dt>Parameters</dt><dd>
  848. <table class="params">
  849. <tr><td class="paramname">right</td><td>The <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object to subtract from self (the left object) </td></tr>
  850. </table>
  851. </dd>
  852. </dl>
  853. <dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_time_span.html" title="Timespan which can represent changes in time with seconds accuracy. ">TimeSpan</a> of the difference between DateTimes. </dd></dl>
  854. </div>
  855. </div>
  856. <a id="a6f1288d0205e97f86dfecfc7fd7b4e60"></a>
  857. <h2 class="memtitle"><span class="permalink"><a href="#a6f1288d0205e97f86dfecfc7fd7b4e60">&#9670;&nbsp;</a></span>operator<()</h2>
  858. <div class="memitem">
  859. <div class="memproto">
  860. <table class="memname">
  861. <tr>
  862. <td class="memname">bool DateTime::operator&lt; </td>
  863. <td>(</td>
  864. <td class="paramtype">const <a class="el" href="class_date_time.html">DateTime</a> &amp;&#160;</td>
  865. <td class="paramname"><em>right</em></td><td>)</td>
  866. <td> const</td>
  867. </tr>
  868. </table>
  869. </div><div class="memdoc">
  870. <p>Test if one <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> is less (earlier) than another. </p>
  871. <dl class="section author"><dt>Author</dt><dd>Anton Rieutskyi </dd></dl>
  872. <dl class="section warning"><dt>Warning</dt><dd>if one or both <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> objects are invalid, returned value is meaningless </dd></dl>
  873. <dl class="section see"><dt>See also</dt><dd>use <code><a class="el" href="class_date_time.html#a21b2a59fbde555e5c5688d44e9d95aec" title="Check whether this DateTime is valid. ">isValid()</a></code> method to check if <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object is valid </dd></dl>
  874. <dl class="params"><dt>Parameters</dt><dd>
  875. <table class="params">
  876. <tr><td class="paramname">right</td><td>Comparison <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object </td></tr>
  877. </table>
  878. </dd>
  879. </dl>
  880. <dl class="section return"><dt>Returns</dt><dd>True if the left <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> is earlier than the right one, false otherwise. </dd></dl>
  881. </div>
  882. </div>
  883. <a id="a0cbf838febb24c433bd517cbb75a3e8c"></a>
  884. <h2 class="memtitle"><span class="permalink"><a href="#a0cbf838febb24c433bd517cbb75a3e8c">&#9670;&nbsp;</a></span>operator>()</h2>
  885. <div class="memitem">
  886. <div class="memproto">
  887. <table class="mlabels">
  888. <tr>
  889. <td class="mlabels-left">
  890. <table class="memname">
  891. <tr>
  892. <td class="memname">bool DateTime::operator&gt; </td>
  893. <td>(</td>
  894. <td class="paramtype">const <a class="el" href="class_date_time.html">DateTime</a> &amp;&#160;</td>
  895. <td class="paramname"><em>right</em></td><td>)</td>
  896. <td> const</td>
  897. </tr>
  898. </table>
  899. </td>
  900. <td class="mlabels-right">
  901. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  902. </tr>
  903. </table>
  904. </div><div class="memdoc">
  905. <p>Test if one <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> is greater (later) than another. </p>
  906. <dl class="section warning"><dt>Warning</dt><dd>if one or both <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> objects are invalid, returned value is meaningless </dd></dl>
  907. <dl class="section see"><dt>See also</dt><dd>use <code><a class="el" href="class_date_time.html#a21b2a59fbde555e5c5688d44e9d95aec" title="Check whether this DateTime is valid. ">isValid()</a></code> method to check if <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object is valid </dd></dl>
  908. <dl class="params"><dt>Parameters</dt><dd>
  909. <table class="params">
  910. <tr><td class="paramname">right</td><td><a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object to compare </td></tr>
  911. </table>
  912. </dd>
  913. </dl>
  914. <dl class="section return"><dt>Returns</dt><dd>True if the left <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> is later than the right one, false otherwise </dd></dl>
  915. </div>
  916. </div>
  917. <a id="af9da2ce38916caa365f24a38f5834b47"></a>
  918. <h2 class="memtitle"><span class="permalink"><a href="#af9da2ce38916caa365f24a38f5834b47">&#9670;&nbsp;</a></span>operator<=()</h2>
  919. <div class="memitem">
  920. <div class="memproto">
  921. <table class="mlabels">
  922. <tr>
  923. <td class="mlabels-left">
  924. <table class="memname">
  925. <tr>
  926. <td class="memname">bool DateTime::operator&lt;= </td>
  927. <td>(</td>
  928. <td class="paramtype">const <a class="el" href="class_date_time.html">DateTime</a> &amp;&#160;</td>
  929. <td class="paramname"><em>right</em></td><td>)</td>
  930. <td> const</td>
  931. </tr>
  932. </table>
  933. </td>
  934. <td class="mlabels-right">
  935. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  936. </tr>
  937. </table>
  938. </div><div class="memdoc">
  939. <p>Test if one <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> is less (earlier) than or equal to another. </p>
  940. <dl class="section warning"><dt>Warning</dt><dd>if one or both <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> objects are invalid, returned value is meaningless </dd></dl>
  941. <dl class="section see"><dt>See also</dt><dd>use <code><a class="el" href="class_date_time.html#a21b2a59fbde555e5c5688d44e9d95aec" title="Check whether this DateTime is valid. ">isValid()</a></code> method to check if <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object is valid </dd></dl>
  942. <dl class="params"><dt>Parameters</dt><dd>
  943. <table class="params">
  944. <tr><td class="paramname">right</td><td><a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object to compare </td></tr>
  945. </table>
  946. </dd>
  947. </dl>
  948. <dl class="section return"><dt>Returns</dt><dd>True if the left <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> is earlier than or equal to the right one, false otherwise </dd></dl>
  949. </div>
  950. </div>
  951. <a id="a380536b7398afa1f7dcff9df9054fcbb"></a>
  952. <h2 class="memtitle"><span class="permalink"><a href="#a380536b7398afa1f7dcff9df9054fcbb">&#9670;&nbsp;</a></span>operator>=()</h2>
  953. <div class="memitem">
  954. <div class="memproto">
  955. <table class="mlabels">
  956. <tr>
  957. <td class="mlabels-left">
  958. <table class="memname">
  959. <tr>
  960. <td class="memname">bool DateTime::operator&gt;= </td>
  961. <td>(</td>
  962. <td class="paramtype">const <a class="el" href="class_date_time.html">DateTime</a> &amp;&#160;</td>
  963. <td class="paramname"><em>right</em></td><td>)</td>
  964. <td> const</td>
  965. </tr>
  966. </table>
  967. </td>
  968. <td class="mlabels-right">
  969. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  970. </tr>
  971. </table>
  972. </div><div class="memdoc">
  973. <p>Test if one <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> is greater (later) than or equal to another. </p>
  974. <dl class="section warning"><dt>Warning</dt><dd>if one or both <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> objects are invalid, returned value is meaningless </dd></dl>
  975. <dl class="section see"><dt>See also</dt><dd>use <code><a class="el" href="class_date_time.html#a21b2a59fbde555e5c5688d44e9d95aec" title="Check whether this DateTime is valid. ">isValid()</a></code> method to check if <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object is valid </dd></dl>
  976. <dl class="params"><dt>Parameters</dt><dd>
  977. <table class="params">
  978. <tr><td class="paramname">right</td><td><a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object to compare </td></tr>
  979. </table>
  980. </dd>
  981. </dl>
  982. <dl class="section return"><dt>Returns</dt><dd>True if the left <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> is later than or equal to the right one, false otherwise </dd></dl>
  983. </div>
  984. </div>
  985. <a id="a0c68b136471b6f8daf575ce399ca619c"></a>
  986. <h2 class="memtitle"><span class="permalink"><a href="#a0c68b136471b6f8daf575ce399ca619c">&#9670;&nbsp;</a></span>operator==()</h2>
  987. <div class="memitem">
  988. <div class="memproto">
  989. <table class="memname">
  990. <tr>
  991. <td class="memname">bool DateTime::operator== </td>
  992. <td>(</td>
  993. <td class="paramtype">const <a class="el" href="class_date_time.html">DateTime</a> &amp;&#160;</td>
  994. <td class="paramname"><em>right</em></td><td>)</td>
  995. <td> const</td>
  996. </tr>
  997. </table>
  998. </div><div class="memdoc">
  999. <p>Test if two <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> objects are equal. </p>
  1000. <dl class="section author"><dt>Author</dt><dd>Anton Rieutskyi </dd></dl>
  1001. <dl class="section warning"><dt>Warning</dt><dd>if one or both <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> objects are invalid, returned value is meaningless </dd></dl>
  1002. <dl class="section see"><dt>See also</dt><dd>use <code><a class="el" href="class_date_time.html#a21b2a59fbde555e5c5688d44e9d95aec" title="Check whether this DateTime is valid. ">isValid()</a></code> method to check if <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object is valid </dd></dl>
  1003. <dl class="params"><dt>Parameters</dt><dd>
  1004. <table class="params">
  1005. <tr><td class="paramname">right</td><td>Comparison <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object </td></tr>
  1006. </table>
  1007. </dd>
  1008. </dl>
  1009. <dl class="section return"><dt>Returns</dt><dd>True if both <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> objects are the same, false otherwise. </dd></dl>
  1010. </div>
  1011. </div>
  1012. <a id="aa64131ebd35cb40ed616b111ea501760"></a>
  1013. <h2 class="memtitle"><span class="permalink"><a href="#aa64131ebd35cb40ed616b111ea501760">&#9670;&nbsp;</a></span>operator!=()</h2>
  1014. <div class="memitem">
  1015. <div class="memproto">
  1016. <table class="mlabels">
  1017. <tr>
  1018. <td class="mlabels-left">
  1019. <table class="memname">
  1020. <tr>
  1021. <td class="memname">bool DateTime::operator!= </td>
  1022. <td>(</td>
  1023. <td class="paramtype">const <a class="el" href="class_date_time.html">DateTime</a> &amp;&#160;</td>
  1024. <td class="paramname"><em>right</em></td><td>)</td>
  1025. <td> const</td>
  1026. </tr>
  1027. </table>
  1028. </td>
  1029. <td class="mlabels-right">
  1030. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1031. </tr>
  1032. </table>
  1033. </div><div class="memdoc">
  1034. <p>Test if two <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> objects are not equal. </p>
  1035. <dl class="section warning"><dt>Warning</dt><dd>if one or both <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> objects are invalid, returned value is meaningless </dd></dl>
  1036. <dl class="section see"><dt>See also</dt><dd>use <code><a class="el" href="class_date_time.html#a21b2a59fbde555e5c5688d44e9d95aec" title="Check whether this DateTime is valid. ">isValid()</a></code> method to check if <a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object is valid </dd></dl>
  1037. <dl class="params"><dt>Parameters</dt><dd>
  1038. <table class="params">
  1039. <tr><td class="paramname">right</td><td><a class="el" href="class_date_time.html" title="Simple general-purpose date/time class (no TZ / DST / leap seconds). ">DateTime</a> object to compare </td></tr>
  1040. </table>
  1041. </dd>
  1042. </dl>
  1043. <dl class="section return"><dt>Returns</dt><dd>True if the two objects are not equal, false if they are </dd></dl>
  1044. </div>
  1045. </div>
  1046. <hr/>The documentation for this class was generated from the following files:<ul>
  1047. <li>src/<a class="el" href="_r_t_clib_8h_source.html">RTClib.h</a></li>
  1048. <li>src/<a class="el" href="_r_t_clib_8cpp.html">RTClib.cpp</a></li>
  1049. </ul>
  1050. </div><!-- contents -->
  1051. <!-- start footer part -->
  1052. <hr class="footer"/><address class="footer"><small>
  1053. Generated by &#160;<a href="http://www.doxygen.org/index.html">
  1054. <img class="footer" src="doxygen.png" alt="doxygen"/>
  1055. </a> 1.8.13
  1056. </small></address>
  1057. </body>
  1058. </html>