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

📄 datetime_8h-source.html

📁 FastDb是高效的内存数据库系统
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>FastDB: datetime.h Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.5 --><div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a></div><h1>datetime.h</h1><div class="fragment"><pre>00001 <span class="comment">//-&lt; DATEIME.H &gt;-----------------------------------------------------*--------*</span>00002 <span class="comment">// FastDB                    Version 1.0         (c) 1999  GARRET    *     ?  *</span>00003 <span class="comment">// (Main Memory Database Management System)                          *   /\|  *</span>00004 <span class="comment">//                                                                   *  /  \  *</span>00005 <span class="comment">//                          Created:     20-Nov-98    K.A. Knizhnik  * / [] \ *</span>00006 <span class="comment">//                          Last update: 10-Dec-98    K.A. Knizhnik  * GARRET *</span>00007 <span class="comment">//-------------------------------------------------------------------*--------*</span>00008 <span class="comment">// Date-time field type</span>00009 <span class="comment">//-------------------------------------------------------------------*--------*</span>00010 00011 <span class="preprocessor">#ifndef __DATETIME_H__</span>00012 <span class="preprocessor"></span><span class="preprocessor">#define __DATETIME_H__</span>00013 <span class="preprocessor"></span>00014 <span class="preprocessor">#include &lt;time.h&gt;</span>00015 <span class="preprocessor">#include "stdtp.h"</span>00016 <span class="preprocessor">#include "class.h"</span>00017 00018 <span class="preprocessor">#if !defined(NO_PTHREADS) &amp;&amp; !defined(_WIN32)</span>00019 <span class="preprocessor"></span><span class="preprocessor">#define USE_REENTRANT_LIBRARY</span>00020 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00021 <span class="preprocessor"></span>00022 <span class="keyword">class </span>FASTDB_DLL_ENTRY dbDateTime { 00023     int4 stamp;00024   <span class="keyword">public</span>:00025     <span class="keywordtype">bool</span> operator == (dbDateTime <span class="keyword">const</span>&amp; dt) { 00026         <span class="keywordflow">return</span> stamp == dt.stamp;00027     }00028     <span class="keywordtype">bool</span> operator != (dbDateTime <span class="keyword">const</span>&amp; dt) { 00029         <span class="keywordflow">return</span> stamp != dt.stamp;00030     }00031     <span class="keywordtype">bool</span> operator &gt; (dbDateTime <span class="keyword">const</span>&amp; dt) { 00032         <span class="keywordflow">return</span> stamp &gt; dt.stamp;00033     }00034     <span class="keywordtype">bool</span> operator &gt;= (dbDateTime <span class="keyword">const</span>&amp; dt) { 00035         <span class="keywordflow">return</span> stamp &gt;= dt.stamp;00036     }00037     <span class="keywordtype">bool</span> operator &lt; (dbDateTime <span class="keyword">const</span>&amp; dt) { 00038         <span class="keywordflow">return</span> stamp &lt; dt.stamp;00039     }00040     <span class="keywordtype">bool</span> operator &lt;= (dbDateTime <span class="keyword">const</span>&amp; dt) { 00041         <span class="keywordflow">return</span> stamp &lt;= dt.stamp;00042     }00043     <span class="keywordtype">int</span> operator - (dbDateTime <span class="keyword">const</span>&amp; dt) { 00044         <span class="keywordflow">return</span> stamp - dt.stamp;00045     }00046      <span class="keywordtype">int</span> operator + (dbDateTime <span class="keyword">const</span>&amp; dt) { 00047         <span class="keywordflow">return</span> stamp + dt.stamp;00048     }00049     <span class="keyword">static</span> dbDateTime current() { 00050         <span class="keywordflow">return</span> dbDateTime(time(NULL));00051     }00052     dbDateTime(time_t tm) {00053         stamp = tm;00054     }00055     dbDateTime() { 00056         stamp = -1;00057     } 00058     <span class="keywordtype">bool</span> isValid()<span class="keyword"> const </span>{ 00059         <span class="keywordflow">return</span> stamp != -1;00060     }00061 00062     time_t asTime_t() { <span class="keywordflow">return</span> stamp; }00063 00064     <span class="keywordtype">void</span> clear() { stamp = -1; }00065 00066     dbDateTime(<span class="keywordtype">int</span> year, <span class="keywordtype">int</span> month, <span class="keywordtype">int</span> day, 00067                <span class="keywordtype">int</span> hour=0, <span class="keywordtype">int</span> min=0, <span class="keywordtype">int</span> sec = 0) 00068     { 00069         <span class="keyword">struct </span>tm t;00070         t.tm_year = year &gt; 1900 ? year - 1900 : year;00071         t.tm_mon = month-1;00072         t.tm_mday = day;00073         t.tm_hour = hour;00074         t.tm_min = min;00075         t.tm_sec = sec;00076         t.tm_isdst = -1;00077         stamp = mktime(&amp;t);00078     }00079     dbDateTime(<span class="keywordtype">int</span> hour, <span class="keywordtype">int</span> min) { 00080         stamp = (hour*60+min)*60;00081     }00082 00083 <span class="preprocessor">#ifdef USE_REENTRANT_LIBRARY</span>00084 <span class="preprocessor"></span>    <span class="keywordtype">int</span> year() { 00085         <span class="keyword">struct </span>tm t;00086         <span class="keywordflow">return</span> localtime_r((time_t*)&amp;stamp, &amp;t)-&gt;tm_year + 1900;00087     }00088     <span class="keywordtype">int</span> month() { <span class="comment">// 1..12</span>00089         <span class="keyword">struct </span>tm t;00090         <span class="keywordflow">return</span> localtime_r((time_t*)&amp;stamp, &amp;t)-&gt;tm_mon + 1;00091     }00092     <span class="keywordtype">int</span> day() { <span class="comment">// 1..31</span>00093         <span class="keyword">struct </span>tm t;00094         <span class="keywordflow">return</span> localtime_r((time_t*)&amp;stamp, &amp;t)-&gt;tm_mday;00095     }00096     <span class="keywordtype">int</span> dayOfYear() { <span class="comment">// 1..366</span>00097         <span class="keyword">struct </span>tm t;00098         <span class="keywordflow">return</span> localtime_r((time_t*)&amp;stamp, &amp;t)-&gt;tm_yday+1;00099     }00100     <span class="keywordtype">int</span> dayOfWeek() { <span class="comment">// 1..7</span>00101         <span class="keyword">struct </span>tm t;00102         <span class="keywordflow">return</span> localtime_r((time_t*)&amp;stamp, &amp;t)-&gt;tm_wday+1;00103     }00104     <span class="keywordtype">int</span> hour() { <span class="comment">// 0..24</span>00105         <span class="keyword">struct </span>tm t;00106         <span class="keywordflow">return</span> localtime_r((time_t*)&amp;stamp, &amp;t)-&gt;tm_hour;00107     }00108     <span class="keywordtype">int</span> minute() { <span class="comment">// 0..59</span>00109         <span class="keyword">struct </span>tm t;00110         <span class="keywordflow">return</span> localtime_r((time_t*)&amp;stamp, &amp;t)-&gt;tm_min;00111     }00112     <span class="keywordtype">int</span> second() { <span class="comment">// 0..59</span>00113         <span class="keyword">struct </span>tm t;

⌨️ 快捷键说明

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