📄 datetime_8h-source.html
字号:
00126 }
00127 <span class="keyword">static</span> dbDateTime currentDate() {
00128 <span class="keyword">struct </span>tm t;
00129 time_t curr = time(NULL);
00130 localtime_r(&curr, &t);
00131 t.tm_hour = 0;
00132 t.tm_min = 0;
00133 t.tm_sec = 0;
00134 <span class="keywordflow">return</span> dbDateTime(mktime(&t));
00135 }
00136 <span class="preprocessor">#else</span>
00137 <span class="preprocessor"></span> <span class="keywordtype">int</span> year() {
00138 time_t tt = (nat4)stamp;
00139 <span class="keywordflow">return</span> localtime(&tt)->tm_year + 1900;
00140 }
00141 <span class="keywordtype">int</span> month() { <span class="comment">// 1..12</span>
00142 time_t tt = (nat4)stamp;
00143 <span class="keywordflow">return</span> localtime(&tt)->tm_mon + 1;
00144 }
00145 <span class="keywordtype">int</span> day() { <span class="comment">// 1..31</span>
00146 time_t tt = (nat4)stamp;
00147 <span class="keywordflow">return</span> localtime(&tt)->tm_mday;
00148 }
00149 <span class="keywordtype">int</span> dayOfYear() { <span class="comment">// 1..366</span>
00150 time_t tt = (nat4)stamp;
00151 <span class="keywordflow">return</span> localtime(&tt)->tm_yday+1;
00152 }
00153 <span class="keywordtype">int</span> dayOfWeek() { <span class="comment">// 1..7</span>
00154 time_t tt = (nat4)stamp;
00155 <span class="keywordflow">return</span> localtime(&tt)->tm_wday+1;
00156 }
00157 <span class="keywordtype">int</span> hour() { <span class="comment">// 0..24</span>
00158 time_t tt = (nat4)stamp;
00159 <span class="keywordflow">return</span> localtime(&tt)->tm_hour;
00160 }
00161 <span class="keywordtype">int</span> minute() { <span class="comment">// 0..59</span>
00162 time_t tt = (nat4)stamp;
00163 <span class="keywordflow">return</span> localtime(&tt)->tm_min;
00164 }
00165 <span class="keywordtype">int</span> second() { <span class="comment">// 0..59</span>
00166 time_t tt = (nat4)stamp;
00167 <span class="keywordflow">return</span> localtime(&tt)->tm_sec;
00168 }
00169 <span class="keywordtype">char</span>* asString(<span class="keywordtype">char</span>* buf, <span class="keywordtype">int</span> buf_size, <span class="keywordtype">char</span> <span class="keyword">const</span>* format = <span class="stringliteral">"%c"</span>)<span class="keyword"> const </span>{
00170 time_t tt = (nat4)stamp;
00171 <span class="preprocessor">#ifdef _WINCE</span>
00172 <span class="preprocessor"></span> <span class="keyword">struct </span>tm* t = localtime(&tt);
00173 <span class="keywordtype">char</span> cnvBuf[CNV_BUF_SIZE];
00174 sprintf(cnvBuf, <span class="stringliteral">"%02d/02d/%40d %02d:%02d:%02d"</span>, t->tm_mon, t->tm_yday+1, t->tm_year + 1900,
00175 t->tm_hour, t->tm_min, t->tm_sec);
00176 strncpy(buf, cnvBuf, buf_size);
00177 <span class="preprocessor">#else</span>
00178 <span class="preprocessor"></span> strftime(buf, buf_size, format, localtime(&tt));
00179 <span class="preprocessor">#endif</span>
00180 <span class="preprocessor"></span> <span class="keywordflow">return</span> buf;
00181 }
00182 <span class="keyword">static</span> dbDateTime currentDate() {
00183 time_t curr = time(NULL);
00184 <span class="keyword">struct </span>tm* tp = localtime(&curr);;
00185 tp->tm_hour = 0;
00186 tp->tm_min = 0;
00187 tp->tm_sec = 0;
00188 <span class="keywordflow">return</span> dbDateTime(mktime(tp));
00189 }
00190 <span class="preprocessor">#endif </span>
00191 <span class="preprocessor"></span>
00192 CLASS_DESCRIPTOR(dbDateTime,
00193 (KEY(stamp,INDEXED|HASHED),
00194 METHOD(year), METHOD(month), METHOD(day),
00195 METHOD(dayOfYear), METHOD(dayOfWeek),
00196 METHOD(hour), METHOD(minute), METHOD(second)));
00197
00198 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator == (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) {
00199 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00200 expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"stamp"</span>),<span class="stringliteral">"="</span>,stamp;
00201 <span class="keywordflow">return</span> expr;
00202 }
00203 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator != (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) {
00204 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00205 expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"stamp"</span>),<span class="stringliteral">"<>"</span>,stamp;
00206 <span class="keywordflow">return</span> expr;
00207 }
00208 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator < (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) {
00209 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00210 expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"stamp"</span>),<span class="stringliteral">">"</span>,stamp;
00211 <span class="keywordflow">return</span> expr;
00212 }
00213 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator <= (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) {
00214 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00215 expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"stamp"</span>),<span class="stringliteral">">="</span>,stamp;
00216 <span class="keywordflow">return</span> expr;
00217 }
00218 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator > (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) {
00219 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00220 expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"stamp"</span>),<span class="stringliteral">"<"</span>,stamp;
00221 <span class="keywordflow">return</span> expr;
00222 }
00223 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator >= (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) {
00224 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00225 expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"stamp"</span>),<span class="stringliteral">"<="</span>,stamp;
00226 <span class="keywordflow">return</span> expr;
00227 }
00228 <span class="keyword">friend</span> <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> between(<span class="keywordtype">char</span> <span class="keyword">const</span>* field, dbDateTime& from,
00229 dbDateTime& till)
00230 {
00231 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00232 expr=<a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"stamp"</span>),<span class="stringliteral">"between"</span>,from.stamp,<span class="stringliteral">"and"</span>,till.stamp;
00233 <span class="keywordflow">return</span> expr;
00234 }
00235
00236 <span class="keyword">static</span> <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> ascent(<span class="keywordtype">char</span> <span class="keyword">const</span>* field) {
00237 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00238 expr=<a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"stamp"</span>);
00239 <span class="keywordflow">return</span> expr;
00240 }
00241 <span class="keyword">static</span> <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> descent(<span class="keywordtype">char</span> <span class="keyword">const</span>* field) {
00242 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00243 expr=<a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"stamp"</span>),<span class="stringliteral">"desc"</span>;
00244 <span class="keywordflow">return</span> expr;
00245 }
00246 };
00247
00248 END_FASTDB_NAMESPACE
00249
00250 <span class="preprocessor">#endif</span>
</pre></div><hr><address style="align: right;"><small>Generated on Thu Feb 14 12:42:30 2008 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.18 </small></address>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -