datetime_8h-source.html
来自「一个功能强大的内存数据库源代码,c++编写,有详细的注释」· HTML 代码 · 共 240 行 · 第 1/2 页
HTML
240 行
<!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.15 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </center><hr><h1>datetime.h</h1><div class="fragment"><pre>00001 <font class="comment">//-< DATEIME.H >-----------------------------------------------------*--------*</font>00002 <font class="comment">// FastDB Version 1.0 (c) 1999 GARRET * ? *</font>00003 <font class="comment">// (Main Memory Database Management System) * /\| *</font>00004 <font class="comment">// * / \ *</font>00005 <font class="comment">// Created: 20-Nov-98 K.A. Knizhnik * / [] \ *</font>00006 <font class="comment">// Last update: 10-Dec-98 K.A. Knizhnik * GARRET *</font>00007 <font class="comment">//-------------------------------------------------------------------*--------*</font>00008 <font class="comment">// Date-time field type</font>00009 <font class="comment">//-------------------------------------------------------------------*--------*</font>00010 00011 <font class="preprocessor">#ifndef __DATETIME_H__</font>00012 <font class="preprocessor"></font><font class="preprocessor">#define __DATETIME_H__</font>00013 <font class="preprocessor"></font>00014 <font class="preprocessor">#include <time.h></font>00015 <font class="preprocessor">#include "stdtp.h"</font>00016 <font class="preprocessor">#include "class.h"</font>00017 00018 <font class="preprocessor">#if !defined(NO_PTHREADS) && !defined(_WIN32)</font>00019 <font class="preprocessor"></font><font class="preprocessor">#define USE_REENTRANT_LIBRARY</font>00020 <font class="preprocessor"></font><font class="preprocessor">#endif</font>00021 <font class="preprocessor"></font>00022 <font class="keyword">class </font>FASTDB_DLL_ENTRY dbDateTime { 00023 int4 stamp;00024 <font class="keyword">public</font>:00025 <font class="keywordtype">bool</font> operator == (dbDateTime <font class="keyword">const</font>& dt) { 00026 <font class="keywordflow">return</font> stamp == dt.stamp;00027 }00028 <font class="keywordtype">bool</font> operator != (dbDateTime <font class="keyword">const</font>& dt) { 00029 <font class="keywordflow">return</font> stamp != dt.stamp;00030 }00031 <font class="keywordtype">bool</font> operator > (dbDateTime <font class="keyword">const</font>& dt) { 00032 <font class="keywordflow">return</font> stamp > dt.stamp;00033 }00034 <font class="keywordtype">bool</font> operator >= (dbDateTime <font class="keyword">const</font>& dt) { 00035 <font class="keywordflow">return</font> stamp >= dt.stamp;00036 }00037 <font class="keywordtype">bool</font> operator < (dbDateTime <font class="keyword">const</font>& dt) { 00038 <font class="keywordflow">return</font> stamp < dt.stamp;00039 }00040 <font class="keywordtype">bool</font> operator <= (dbDateTime <font class="keyword">const</font>& dt) { 00041 <font class="keywordflow">return</font> stamp <= dt.stamp;00042 }00043 <font class="keywordtype">int</font> operator - (dbDateTime <font class="keyword">const</font>& dt) { 00044 <font class="keywordflow">return</font> stamp - dt.stamp;00045 }00046 <font class="keywordtype">int</font> operator + (dbDateTime <font class="keyword">const</font>& dt) { 00047 <font class="keywordflow">return</font> stamp + dt.stamp;00048 }00049 <font class="keyword">static</font> dbDateTime current() { 00050 <font class="keywordflow">return</font> dbDateTime(time(NULL));00051 }00052 dbDateTime(time_t tm) {00053 stamp = tm;00054 }00055 dbDateTime() { 00056 stamp = -1;00057 } 00058 <font class="keywordtype">bool</font> isValid()<font class="keyword"> const </font>{ 00059 <font class="keywordflow">return</font> stamp != -1;00060 }00061 00062 time_t asTime_t() { <font class="keywordflow">return</font> stamp; }00063 00064 <font class="keywordtype">void</font> clear() { stamp = -1; }00065 00066 dbDateTime(<font class="keywordtype">int</font> year, <font class="keywordtype">int</font> month, <font class="keywordtype">int</font> day, 00067 <font class="keywordtype">int</font> hour=0, <font class="keywordtype">int</font> min=0, <font class="keywordtype">int</font> sec = 0) 00068 { 00069 <font class="keyword">struct </font>tm t;00070 t.tm_year = year > 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(&t);00078 }00079 dbDateTime(<font class="keywordtype">int</font> hour, <font class="keywordtype">int</font> min) { 00080 stamp = (hour*60+min)*60;00081 }00082 00083 <font class="preprocessor">#ifdef USE_REENTRANT_LIBRARY</font>00084 <font class="preprocessor"></font> <font class="keywordtype">int</font> year() { 00085 <font class="keyword">struct </font>tm t;00086 <font class="keywordflow">return</font> localtime_r((time_t*)&stamp, &t)->tm_year + 1900;00087 }00088 <font class="keywordtype">int</font> month() { <font class="comment">// 1..12</font>00089 <font class="keyword">struct </font>tm t;00090 <font class="keywordflow">return</font> localtime_r((time_t*)&stamp, &t)->tm_mon + 1;00091 }00092 <font class="keywordtype">int</font> day() { <font class="comment">// 1..31</font>00093 <font class="keyword">struct </font>tm t;00094 <font class="keywordflow">return</font> localtime_r((time_t*)&stamp, &t)->tm_mday;00095 }00096 <font class="keywordtype">int</font> dayOfYear() { <font class="comment">// 1..366</font>00097 <font class="keyword">struct </font>tm t;00098 <font class="keywordflow">return</font> localtime_r((time_t*)&stamp, &t)->tm_yday+1;00099 }00100 <font class="keywordtype">int</font> dayOfWeek() { <font class="comment">// 1..7</font>00101 <font class="keyword">struct </font>tm t;00102 <font class="keywordflow">return</font> localtime_r((time_t*)&stamp, &t)->tm_wday+1;00103 }00104 <font class="keywordtype">int</font> hour() { <font class="comment">// 0..24</font>00105 <font class="keyword">struct </font>tm t;00106 <font class="keywordflow">return</font> localtime_r((time_t*)&stamp, &t)->tm_hour;00107 }00108 <font class="keywordtype">int</font> minute() { <font class="comment">// 0..59</font>00109 <font class="keyword">struct </font>tm t;00110 <font class="keywordflow">return</font> localtime_r((time_t*)&stamp, &t)->tm_min;00111 }00112 <font class="keywordtype">int</font> second() { <font class="comment">// 0..59</font>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?