⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 date_8h-source.html

📁 FastDb是高效的内存数据库系统
💻 HTML
📖 第 1 页 / 共 2 页
字号:
00118         <span class="keywordflow">if</span> (m &lt; 10) { 00119                 m += 3;00120         } <span class="keywordflow">else</span> {00121                 m -= 9;00122                 y++;00123         } <span class="comment">/* else */</span>00124         month = m;00125         day = d;00126         year = y;00127     } <span class="comment">/* mdy */</span>00128 00129     <span class="keywordtype">int</span> day() {00130         <span class="keywordtype">int</span> month, day, year;00131         MDY(year, month, day);00132         <span class="keywordflow">return</span> day;00133     }00134 00135     <span class="keywordtype">int</span> month() {00136         <span class="keywordtype">int</span> month, day, year;00137         MDY(year, month, day);00138         <span class="keywordflow">return</span> month;00139     }00140 00141     <span class="keywordtype">int</span> year() {00142         <span class="keywordtype">int</span> month, day, year;00143         MDY(year, month, day);00144         <span class="keywordflow">return</span> year;00145     }00146 00147     <span class="keywordtype">int</span> dayOfWeek() { 00148         <span class="keywordflow">return</span> (jday % 7) + 1;00149     }00150 00151     <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>{ 00152         <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> };00153         <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>,00154                                            <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> };00155         <span class="keywordtype">int</span> month, day, year;00156         MDY(year, month, day);00157         <span class="keywordtype">char</span> ch, *dst = buf;00158         <span class="keywordflow">while</span> ((ch = *format++) != <span class="charliteral">'\0'</span>) { 00159             <span class="keywordflow">if</span> (ch == <span class="charliteral">'%'</span>) {00160                 ch = *format++;00161                 <span class="keywordflow">switch</span> (ch) { 00162                   <span class="keywordflow">case</span> <span class="charliteral">'d'</span>: dst += sprintf(dst, <span class="stringliteral">"%02u"</span>, day ); <span class="keywordflow">continue</span>;00163                   <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>;00164                   <span class="keywordflow">case</span> <span class="charliteral">'m'</span>: dst += sprintf(dst, <span class="stringliteral">"%02u"</span>, month); <span class="keywordflow">continue</span>;00165                   <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>;00166                   <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>;00167                   <span class="keywordflow">case</span> <span class="charliteral">'Y'</span>: dst += sprintf(dst, <span class="stringliteral">"%04u"</span>, year); <span class="keywordflow">continue</span>;00168                   <span class="keywordflow">default</span>: *dst++ = ch;00169                 }00170             } <span class="keywordflow">else</span> { 00171                 *dst++ = ch;00172             }00173         }00174         *dst = <span class="charliteral">'\0'</span>;00175         <span class="keywordflow">return</span> buf;00176     }00177 00178 00179     CLASS_DESCRIPTOR(dbDate, 00180                      (KEY(jday,INDEXED|HASHED), 00181                       METHOD(year), METHOD(month), METHOD(day), METHOD(dayOfWeek)));00182 00183     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator == (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) { 00184         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;00185         expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"="</span>,jday;00186         <span class="keywordflow">return</span> expr;00187     }00188     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator != (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) { 00189         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;00190         expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"&lt;&gt;"</span>,jday;00191         <span class="keywordflow">return</span> expr;00192     }00193     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator &lt; (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) { 00194         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;00195         expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"&gt;"</span>,jday;00196         <span class="keywordflow">return</span> expr;00197     }00198     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator &lt;= (<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">"jday"</span>),<span class="stringliteral">"&gt;="</span>,jday;00201         <span class="keywordflow">return</span> expr;00202     }00203     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator &gt; (<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">"jday"</span>),<span class="stringliteral">"&lt;"</span>,jday;00206         <span class="keywordflow">return</span> expr;00207     }00208     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator &gt;= (<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">"jday"</span>),<span class="stringliteral">"&lt;="</span>,jday;00211         <span class="keywordflow">return</span> expr;00212     }00213     <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&amp; from,00214                                      dbDate&amp; till)00215     { 00216         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;00217         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;00218         <span class="keywordflow">return</span> expr;00219     }00220 00221     <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) { 00222         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;00223         expr=<a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>);00224         <span class="keywordflow">return</span> expr;00225     }   00226     <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) { 00227         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;00228         expr=<a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"desc"</span>;00229         <span class="keywordflow">return</span> expr;00230     }   00231 };00232 00233 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Feb 12 13:04:48 2004 for FastDB by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.5 </small></address></body></html>

⌨️ 快捷键说明

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