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

📄 datetime_8h-source.html

📁 最新版本!fastdb是高效的内存数据库系统
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>datetime.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.18 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><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 "stdtp.h"</span>
00015 <span class="preprocessor">#include "class.h"</span>
00016 
00017 BEGIN_FASTDB_NAMESPACE
00018 
00019 <span class="keyword">class </span>FASTDB_DLL_ENTRY dbDateTime { 
00020     int4 stamp;
00021   <span class="keyword">public</span>:
00022     <span class="keywordtype">bool</span> operator == (dbDateTime <span class="keyword">const</span>&amp; dt)<span class="keyword"> const </span>{ 
00023         <span class="keywordflow">return</span> stamp == dt.stamp;
00024     }
00025     <span class="keywordtype">bool</span> operator != (dbDateTime <span class="keyword">const</span>&amp; dt)<span class="keyword"> const </span>{ 
00026         <span class="keywordflow">return</span> stamp != dt.stamp;
00027     }
00028     <span class="keywordtype">bool</span> operator &gt; (dbDateTime <span class="keyword">const</span>&amp; dt)<span class="keyword"> const </span>{ 
00029         <span class="keywordflow">return</span> stamp &gt; dt.stamp;
00030     }
00031     <span class="keywordtype">bool</span> operator &gt;= (dbDateTime <span class="keyword">const</span>&amp; dt)<span class="keyword"> const </span>{ 
00032         <span class="keywordflow">return</span> stamp &gt;= dt.stamp;
00033     }
00034     <span class="keywordtype">bool</span> operator &lt; (dbDateTime <span class="keyword">const</span>&amp; dt)<span class="keyword"> const </span>{ 
00035         <span class="keywordflow">return</span> stamp &lt; dt.stamp;
00036     }
00037     <span class="keywordtype">bool</span> operator &lt;= (dbDateTime <span class="keyword">const</span>&amp; dt)<span class="keyword"> const </span>{ 
00038         <span class="keywordflow">return</span> stamp &lt;= dt.stamp;
00039     }
00040     <span class="keywordtype">int</span> operator - (dbDateTime <span class="keyword">const</span>&amp; dt)<span class="keyword"> const </span>{ 
00041         <span class="keywordflow">return</span> stamp - dt.stamp;
00042     }
00043     <span class="keywordtype">int</span> operator + (dbDateTime <span class="keyword">const</span>&amp; dt)<span class="keyword"> const </span>{ 
00044         <span class="keywordflow">return</span> stamp + dt.stamp;
00045     }
00046     <span class="keyword">static</span> dbDateTime current() { 
00047         <span class="keywordflow">return</span> dbDateTime(time(NULL));
00048     }
00049     dbDateTime(time_t tm) {
00050         stamp = (int4)tm;
00051     }
00052     dbDateTime() { 
00053         stamp = -1;
00054     } 
00055     <span class="keywordtype">bool</span> isValid()<span class="keyword"> const </span>{ 
00056         <span class="keywordflow">return</span> stamp != -1;
00057     }
00058 
00059     time_t asTime_t()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> stamp; }
00060 
00061     <span class="keywordtype">void</span> clear() { stamp = -1; }
00062 
00063     dbDateTime(<span class="keywordtype">int</span> year, <span class="keywordtype">int</span> month, <span class="keywordtype">int</span> day, 
00064                <span class="keywordtype">int</span> hour=0, <span class="keywordtype">int</span> min=0, <span class="keywordtype">int</span> sec = 0) 
00065     { 
00066         <span class="keyword">struct </span>tm t;
00067         t.tm_year = year &gt; 1900 ? year - 1900 : year;
00068         t.tm_mon = month-1;
00069         t.tm_mday = day;
00070         t.tm_hour = hour;
00071         t.tm_min = min;
00072         t.tm_sec = sec;
00073         t.tm_isdst = -1;
00074         stamp = (int4)mktime(&amp;t);
00075     }
00076     dbDateTime(<span class="keywordtype">int</span> hour, <span class="keywordtype">int</span> min) { 
00077         stamp = (hour*60+min)*60;
00078     }
00079 
00080 <span class="preprocessor">#if defined(HAVE_LOCALTIME_R) &amp;&amp; !defined(NO_PTHREADS)</span>
00081 <span class="preprocessor"></span>    <span class="keywordtype">int</span> year() { 
00082         <span class="keyword">struct </span>tm t;
00083         time_t tt = (nat4)stamp;
00084         <span class="keywordflow">return</span> localtime_r(&amp;tt, &amp;t)-&gt;tm_year + 1900;
00085     }
00086     <span class="keywordtype">int</span> month() { <span class="comment">// 1..12</span>
00087         <span class="keyword">struct </span>tm t;
00088         time_t tt = (nat4)stamp;
00089         <span class="keywordflow">return</span> localtime_r(&amp;tt, &amp;t)-&gt;tm_mon + 1;
00090     }
00091     <span class="keywordtype">int</span> day() { <span class="comment">// 1..31</span>
00092         <span class="keyword">struct </span>tm t;
00093         time_t tt = (nat4)stamp;
00094         <span class="keywordflow">return</span> localtime_r(&amp;tt, &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         time_t tt = (nat4)stamp;
00099         <span class="keywordflow">return</span> localtime_r(&amp;tt, &amp;t)-&gt;tm_yday+1;
00100     }
00101     <span class="keywordtype">int</span> dayOfWeek() { <span class="comment">// 1..7</span>
00102         <span class="keyword">struct </span>tm t;
00103         time_t tt = (nat4)stamp;
00104         <span class="keywordflow">return</span> localtime_r(&amp;tt, &amp;t)-&gt;tm_wday+1;
00105     }
00106     <span class="keywordtype">int</span> hour() { <span class="comment">// 0..24</span>
00107         <span class="keyword">struct </span>tm t;
00108         time_t tt = (nat4)stamp;
00109         <span class="keywordflow">return</span> localtime_r(&amp;tt, &amp;t)-&gt;tm_hour;
00110     }
00111     <span class="keywordtype">int</span> minute() { <span class="comment">// 0..59</span>
00112         <span class="keyword">struct </span>tm t;
00113         time_t tt = (nat4)stamp;
00114         <span class="keywordflow">return</span> localtime_r(&amp;tt, &amp;t)-&gt;tm_min;
00115     }
00116     <span class="keywordtype">int</span> second() { <span class="comment">// 0..59</span>
00117         <span class="keyword">struct </span>tm t;
00118         time_t tt = (nat4)stamp;
00119         <span class="keywordflow">return</span> localtime_r(&amp;tt, &amp;t)-&gt;tm_sec;
00120     }
00121     <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>{ 
00122         <span class="keyword">struct </span>tm t;
00123         time_t tt = (nat4)stamp;
00124         strftime(buf, buf_size, format, localtime_r(&amp;tt, &amp;t));
00125         <span class="keywordflow">return</span> buf;

⌨️ 快捷键说明

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