📄 date_8h-source.html
字号:
00119 <span class="keywordflow">if</span> (m < 10) {
00120 m += 3;
00121 } <span class="keywordflow">else</span> {
00122 m -= 9;
00123 y++;
00124 } <span class="comment">/* else */</span>
00125 month = m;
00126 day = d;
00127 year = y;
00128 } <span class="comment">/* mdy */</span>
00129
00130 <span class="keywordtype">int</span> day() {
00131 <span class="keywordtype">int</span> month, day, year;
00132 MDY(year, month, day);
00133 <span class="keywordflow">return</span> day;
00134 }
00135
00136 <span class="keywordtype">int</span> month() {
00137 <span class="keywordtype">int</span> month, day, year;
00138 MDY(year, month, day);
00139 <span class="keywordflow">return</span> month;
00140 }
00141
00142 <span class="keywordtype">int</span> year() {
00143 <span class="keywordtype">int</span> month, day, year;
00144 MDY(year, month, day);
00145 <span class="keywordflow">return</span> year;
00146 }
00147
00148 <span class="keywordtype">int</span> dayOfWeek() {
00149 <span class="keywordflow">return</span> (jday % 7) + 1;
00150 }
00151
00152 <span class="keywordtype">char</span>* asString(<span class="keywordtype">char</span>* buf, <span class="keywordtype">char</span> <span class="keyword">const</span>* format = <span class="stringliteral">"%d-%M-%Y"</span>)<span class="keyword"> const </span>{
00153 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* dayName[] = { <span class="stringliteral">"Mon"</span>, <span class="stringliteral">"Tue"</span>, <span class="stringliteral">"Wen"</span>, <span class="stringliteral">"Thu"</span>, <span class="stringliteral">"Fri"</span>, <span class="stringliteral">"Sat"</span>, <span class="stringliteral">"Sun"</span> };
00154 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* monthName[] = { <span class="stringliteral">"Jan"</span>, <span class="stringliteral">"Feb"</span>, <span class="stringliteral">"Mar"</span>, <span class="stringliteral">"Apr"</span>, <span class="stringliteral">"May"</span>, <span class="stringliteral">"Jun"</span>, <span class="stringliteral">"Jul"</span>,
00155 <span class="stringliteral">"Aug"</span>, <span class="stringliteral">"Sep"</span>, <span class="stringliteral">"Oct"</span>, <span class="stringliteral">"Nov"</span>, <span class="stringliteral">"Dec"</span> };
00156 <span class="keywordtype">int</span> month, day, year;
00157 MDY(year, month, day);
00158 <span class="keywordtype">char</span> ch, *dst = buf;
00159 <span class="keywordflow">while</span> ((ch = *format++) != <span class="charliteral">'\0'</span>) {
00160 <span class="keywordflow">if</span> (ch == <span class="charliteral">'%'</span>) {
00161 ch = *format++;
00162 <span class="keywordflow">switch</span> (ch) {
00163 <span class="keywordflow">case</span> <span class="charliteral">'d'</span>: dst += sprintf(dst, <span class="stringliteral">"%02u"</span>, day ); <span class="keywordflow">continue</span>;
00164 <span class="keywordflow">case</span> <span class="charliteral">'D'</span>: dst += sprintf(dst, <span class="stringliteral">"%s"</span>, dayName[jday % 7]); <span class="keywordflow">continue</span>;
00165 <span class="keywordflow">case</span> <span class="charliteral">'m'</span>: dst += sprintf(dst, <span class="stringliteral">"%02u"</span>, month); <span class="keywordflow">continue</span>;
00166 <span class="keywordflow">case</span> <span class="charliteral">'M'</span>: dst += sprintf(dst, <span class="stringliteral">"%s"</span>, monthName[month - 1]); <span class="keywordflow">continue</span>;
00167 <span class="keywordflow">case</span> <span class="charliteral">'y'</span>: dst += sprintf(dst, <span class="stringliteral">"%02u"</span>, year - 1900); <span class="keywordflow">continue</span>;
00168 <span class="keywordflow">case</span> <span class="charliteral">'Y'</span>: dst += sprintf(dst, <span class="stringliteral">"%04u"</span>, year); <span class="keywordflow">continue</span>;
00169 <span class="keywordflow">default</span>: *dst++ = ch;
00170 }
00171 } <span class="keywordflow">else</span> {
00172 *dst++ = ch;
00173 }
00174 }
00175 *dst = <span class="charliteral">'\0'</span>;
00176 <span class="keywordflow">return</span> buf;
00177 }
00178
00179
00180 CLASS_DESCRIPTOR(dbDate,
00181 (KEY(jday,INDEXED|HASHED),
00182 METHOD(year), METHOD(month), METHOD(day), METHOD(dayOfWeek)));
00183
00184 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator == (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) {
00185 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00186 expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"="</span>,jday;
00187 <span class="keywordflow">return</span> expr;
00188 }
00189 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator != (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) {
00190 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00191 expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"<>"</span>,jday;
00192 <span class="keywordflow">return</span> expr;
00193 }
00194 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator < (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) {
00195 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00196 expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">">"</span>,jday;
00197 <span class="keywordflow">return</span> expr;
00198 }
00199 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator <= (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) {
00200 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00201 expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">">="</span>,jday;
00202 <span class="keywordflow">return</span> expr;
00203 }
00204 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator > (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) {
00205 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00206 expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"<"</span>,jday;
00207 <span class="keywordflow">return</span> expr;
00208 }
00209 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator >= (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) {
00210 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00211 expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"<="</span>,jday;
00212 <span class="keywordflow">return</span> expr;
00213 }
00214 <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, dbDate& from,
00215 dbDate& till)
00216 {
00217 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00218 expr=<a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"between"</span>,from.jday,<span class="stringliteral">"and"</span>,till.jday;
00219 <span class="keywordflow">return</span> expr;
00220 }
00221
00222 <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) {
00223 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00224 expr=<a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>);
00225 <span class="keywordflow">return</span> expr;
00226 }
00227 <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) {
00228 <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00229 expr=<a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"desc"</span>;
00230 <span class="keywordflow">return</span> expr;
00231 }
00232 };
00233
00234 END_FASTDB_NAMESPACE
00235
00236 <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 + -