datetime_8h-source.html

来自「一个功能强大的内存数据库源代码,c++编写,有详细的注释」· HTML 代码 · 共 240 行 · 第 1/2 页

HTML
240
字号
00113         <font class="keyword">struct </font>tm t;00114         <font class="keywordflow">return</font> localtime_r((time_t*)&amp;stamp, &amp;t)-&gt;tm_sec;00115     }00116     <font class="keywordtype">char</font>* asString(<font class="keywordtype">char</font>* buf, <font class="keywordtype">int</font> buf_size, <font class="keywordtype">char</font> <font class="keyword">const</font>* format = <font class="stringliteral">"%c"</font>)<font class="keyword"> const </font>{ 00117         <font class="keyword">struct </font>tm t;00118         strftime(buf, buf_size, format, localtime_r((time_t*)&amp;stamp, &amp;t));00119         <font class="keywordflow">return</font> buf;00120     }00121     <font class="keyword">static</font> dbDateTime currentDate() { 00122         <font class="keyword">struct </font>tm t;00123         time_t curr = time(NULL);00124         localtime_r(&amp;curr, &amp;t);;00125         t.tm_hour = 0;00126         t.tm_min = 0;00127         t.tm_sec = 0;00128         <font class="keywordflow">return</font> dbDateTime(mktime(&amp;t));00129     }00130 <font class="preprocessor">#else</font>00131 <font class="preprocessor"></font>    <font class="keywordtype">int</font> year() { 00132         <font class="keywordflow">return</font> localtime((time_t*)&amp;stamp)-&gt;tm_year + 1900;00133     }00134     <font class="keywordtype">int</font> month() { <font class="comment">// 1..12</font>00135         <font class="keywordflow">return</font> localtime((time_t*)&amp;stamp)-&gt;tm_mon + 1;00136     }00137     <font class="keywordtype">int</font> day() { <font class="comment">// 1..31</font>00138         <font class="keywordflow">return</font> localtime((time_t*)&amp;stamp)-&gt;tm_mday;00139     }00140     <font class="keywordtype">int</font> dayOfYear() { <font class="comment">// 1..366</font>00141         <font class="keywordflow">return</font> localtime((time_t*)&amp;stamp)-&gt;tm_yday+1;00142     }00143     <font class="keywordtype">int</font> dayOfWeek() { <font class="comment">// 1..7</font>00144         <font class="keywordflow">return</font> localtime((time_t*)&amp;stamp)-&gt;tm_wday+1;00145     }00146     <font class="keywordtype">int</font> hour() { <font class="comment">// 0..24</font>00147         <font class="keywordflow">return</font> localtime((time_t*)&amp;stamp)-&gt;tm_hour;00148     }00149     <font class="keywordtype">int</font> minute() { <font class="comment">// 0..59</font>00150         <font class="keywordflow">return</font> localtime((time_t*)&amp;stamp)-&gt;tm_min;00151     }00152     <font class="keywordtype">int</font> second() { <font class="comment">// 0..59</font>00153         <font class="keywordflow">return</font> localtime((time_t*)&amp;stamp)-&gt;tm_sec;00154     }00155     <font class="keywordtype">char</font>* asString(<font class="keywordtype">char</font>* buf, <font class="keywordtype">int</font> buf_size, <font class="keywordtype">char</font> <font class="keyword">const</font>* format = <font class="stringliteral">"%c"</font>)<font class="keyword"> const </font>{ 00156         strftime(buf, buf_size, format, localtime((time_t*)&amp;stamp));00157         <font class="keywordflow">return</font> buf;00158     }00159     <font class="keyword">static</font> dbDateTime currentDate() { 00160         time_t curr = time(NULL);00161         <font class="keyword">struct </font>tm* tp = localtime(&amp;curr);;00162         tp-&gt;tm_hour = 0;00163         tp-&gt;tm_min = 0;00164         tp-&gt;tm_sec = 0;00165         <font class="keywordflow">return</font> dbDateTime(mktime(tp));00166     }00167 <font class="preprocessor">#endif    </font>00168 <font class="preprocessor"></font>00169     CLASS_DESCRIPTOR(dbDateTime, 00170                      (KEY(stamp,INDEXED|HASHED), 00171                       METHOD(year), METHOD(month), METHOD(day),00172                       METHOD(dayOfYear), METHOD(dayOfWeek),00173                       METHOD(hour), METHOD(minute), METHOD(second)));00174 00175     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator == (<font class="keywordtype">char</font> <font class="keyword">const</font>* field) { 00176         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;00177         expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<font class="stringliteral">"stamp"</font>),<font class="stringliteral">"="</font>,stamp;00178         <font class="keywordflow">return</font> expr;00179     }00180     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator != (<font class="keywordtype">char</font> <font class="keyword">const</font>* field) { 00181         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;00182         expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<font class="stringliteral">"stamp"</font>),<font class="stringliteral">"&lt;&gt;"</font>,stamp;00183         <font class="keywordflow">return</font> expr;00184     }00185     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator &lt; (<font class="keywordtype">char</font> <font class="keyword">const</font>* field) { 00186         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;00187         expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<font class="stringliteral">"stamp"</font>),<font class="stringliteral">"&gt;"</font>,stamp;00188         <font class="keywordflow">return</font> expr;00189     }00190     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator &lt;= (<font class="keywordtype">char</font> <font class="keyword">const</font>* field) { 00191         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;00192         expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<font class="stringliteral">"stamp"</font>),<font class="stringliteral">"&gt;="</font>,stamp;00193         <font class="keywordflow">return</font> expr;00194     }00195     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator &gt; (<font class="keywordtype">char</font> <font class="keyword">const</font>* field) { 00196         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;00197         expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<font class="stringliteral">"stamp"</font>),<font class="stringliteral">"&lt;"</font>,stamp;00198         <font class="keywordflow">return</font> expr;00199     }00200     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator &gt;= (<font class="keywordtype">char</font> <font class="keyword">const</font>* field) { 00201         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;00202         expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<font class="stringliteral">"stamp"</font>),<font class="stringliteral">"&lt;="</font>,stamp;00203         <font class="keywordflow">return</font> expr;00204     }00205     <font class="keyword">friend</font> <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> between(<font class="keywordtype">char</font> <font class="keyword">const</font>* field, dbDateTime&amp; from,00206                                      dbDateTime&amp; till)00207     { 00208         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;00209         expr=<a class="code" href="classdbComponent.html">dbComponent</a>(field,<font class="stringliteral">"stamp"</font>),<font class="stringliteral">"between"</font>,from.stamp,<font class="stringliteral">"and"</font>,till.stamp;00210         <font class="keywordflow">return</font> expr;00211     }00212 00213     <font class="keyword">static</font> <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> ascent(<font class="keywordtype">char</font> <font class="keyword">const</font>* field) { 00214         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;00215         expr=<a class="code" href="classdbComponent.html">dbComponent</a>(field,<font class="stringliteral">"stamp"</font>);00216         <font class="keywordflow">return</font> expr;00217     }   00218     <font class="keyword">static</font> <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> descent(<font class="keywordtype">char</font> <font class="keyword">const</font>* field) { 00219         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;00220         expr=<a class="code" href="classdbComponent.html">dbComponent</a>(field,<font class="stringliteral">"stamp"</font>),<font class="stringliteral">"desc"</font>;00221         <font class="keywordflow">return</font> expr;00222     }   00223 };00224 00225 <font class="preprocessor">#endif</font></pre></div><hr><address align="right"><small>Generated on Fri Nov 15 21:06:29 2002 for FastDB by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.15 </small></address></body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?