ptypes

ptypes Mercurial Source Tree


Root/doc/include/ptime.h.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 
<!--
Syntax highlighting generated by Web C Plus Plus software v0.8.4
Webcpp Copyright (C)2001-2004 Jeffrey Bakker under the GNU GPL
Get webcpp at http://webcpp.sf.net
-->
 
<html>
<head>
<title>ptime.h</title>
<style type="text/css">
 
/*
Webcpp v0.8.1 compatible StyleSheet
Theme: ide-msvcpp
*/
 
body
{
background-color: #ffffff
}
 
.webcpp a:link    {color:#000000}
.webcpp a:visited {color:#008000}
.webcpp a:active  {color:#0000ff}
.webcpp a:hover   {color:#0000ff}
 
.webcpp pre
{
color: #000000
}
 
.webcpp font
{
font-size:100%
}
 
.webcpp .symbols
{
color: #000000
}
 
.webcpp .preproc
{
color: #0000ff
}
 
.webcpp .integer
{
color: #000000
}
 
.webcpp .floatpt
{
color: #000000
}
 
.webcpp .dblquot
{
color: #000000
}
 
.webcpp .sinquot
{
color: #000000
}
 
.webcpp .keyword
{
color: #0000ff;
 
}
 
.webcpp .keytype
{
color: #0000ff;
 
}
 
.webcpp .comment
{
color: #008000;
 
}
 
</style>
</head>
<body bgcolor="#FFFFFF" leftmargin="40" marginwidth="40"> <p><a href="../htsrc.html">Index</a><hr noshade></p>
 
<div class="webcpp">
<pre>
 
 
<font CLASS=preproc>#ifndef</font> __PTIME_H__
<font CLASS=preproc>#define</font> __PTIME_H__
 
<font CLASS=preproc>#ifndef</font> __PPORT_H__
<font CLASS=preproc>#include</font> <font CLASS=dblquot>"pport.h"</font>
<font CLASS=preproc>#endif</font>
 
<font CLASS=preproc>#ifndef</font> __PTYPES_H__
<font CLASS=preproc>#include</font> <font CLASS=dblquot>"ptypes.h"</font>
<font CLASS=preproc>#endif</font>
 
 
<font CLASS=preproc>#include</font> <time.h>
 
 
PTYPES_BEGIN
 
<font CLASS=comment>// datetime type: 64-bit, number of milliseconds since midnight 01/01/0001</font>
<font CLASS=keyword>typedef</font> large datetime;
 
<font CLASS=preproc>#define</font> invdatetime LLCONST(<font CLASS=symbols>-</font><font CLASS=integer>1</font>)
 
<font CLASS=preproc>#define</font> _msecsmax <font CLASS=integer>86400000</font>                    <font CLASS=comment>// number of milliseconds in one day </font>
<font CLASS=preproc>#define</font> _daysmax  <font CLASS=integer>3652059</font>                     <font CLASS=comment>// number of days between 01/01/0001 and 12/31/9999 </font>
<font CLASS=preproc>#define</font> _datetimemax LLCONST(<font CLASS=integer>315537897600000</font>) <font CLASS=comment>// max. allowed number for datetime type </font>
<font CLASS=preproc>#define</font> _unixepoch LLCONST(<font CLASS=integer>62135596800000</font>)    <font CLASS=comment>// difference between time_t and datetime in milliseconds </font>
 
 
<font CLASS=comment>// datetime general utilities</font>
<font CLASS=keyword>inline</font> <font CLASS=keytype>int</font> days(datetime d)            { <font CLASS=keyword>return</font> <font CLASS=keytype>int</font>(d / _msecsmax); }
<font CLASS=keyword>inline</font> <font CLASS=keytype>int</font> msecs(datetime d)           { <font CLASS=keyword>return</font> <font CLASS=keytype>int</font>(d % _msecsmax); }
 
datetime mkdt(<font CLASS=keytype>int</font> days, <font CLASS=keytype>int</font> msecs);
<font CLASS=keytype>bool</font>     isvalid(datetime);
datetime now(<font CLASS=keytype>bool</font> utc <font CLASS=symbols>=</font> <font CLASS=keyword>true</font>);
<font CLASS=keytype>void</font>     tzupdate();
<font CLASS=keytype>int</font>      tzoffset();
string   dttostring(datetime, <font CLASS=keyword>const</font> <font CLASS=keytype>char</font>* fmt);
string   nowstring(<font CLASS=keyword>const</font> <font CLASS=keytype>char</font>* fmt, <font CLASS=keytype>bool</font> utc <font CLASS=symbols>=</font> <font CLASS=keyword>true</font>);
datetime utodatetime(time_t u);
<font CLASS=keyword>struct</font> tm* dttotm(datetime dt, <font CLASS=keyword>struct</font> tm& t);
 
<font CLASS=comment>// date/calendar manipulation</font>
<font CLASS=keytype>bool</font>     isleapyear(<font CLASS=keytype>int</font> year);
<font CLASS=keytype>int</font>      daysinmonth(<font CLASS=keytype>int</font> year, <font CLASS=keytype>int</font> month);
<font CLASS=keytype>int</font>      daysinyear(<font CLASS=keytype>int</font> year, <font CLASS=keytype>int</font> month);
<font CLASS=keytype>int</font>      dayofweek(datetime);
<font CLASS=keytype>bool</font>     isdatevalid(<font CLASS=keytype>int</font> year, <font CLASS=keytype>int</font> month, <font CLASS=keytype>int</font> day);
datetime encodedate(<font CLASS=keytype>int</font> year, <font CLASS=keytype>int</font> month, <font CLASS=keytype>int</font> day);
<font CLASS=keytype>bool</font>     decodedate(datetime, <font CLASS=keytype>int</font>& year, <font CLASS=keytype>int</font>& month, <font CLASS=keytype>int</font>& day);
 
<font CLASS=comment>// time manipulation</font>
<font CLASS=keytype>bool</font>     istimevalid(<font CLASS=keytype>int</font> hour, <font CLASS=keytype>int</font> min, <font CLASS=keytype>int</font> sec, <font CLASS=keytype>int</font> msec <font CLASS=symbols>=</font> <font CLASS=integer>0</font>);
datetime encodetime(<font CLASS=keytype>int</font> hour, <font CLASS=keytype>int</font> min, <font CLASS=keytype>int</font> sec, <font CLASS=keytype>int</font> msec <font CLASS=symbols>=</font> <font CLASS=integer>0</font>);
<font CLASS=keytype>bool</font>     decodetime(datetime, <font CLASS=keytype>int</font>& hour, <font CLASS=keytype>int</font>& min, <font CLASS=keytype>int</font>& sec, <font CLASS=keytype>int</font>& msec);
<font CLASS=keytype>bool</font>     decodetime(datetime, <font CLASS=keytype>int</font>& hour, <font CLASS=keytype>int</font>& min, <font CLASS=keytype>int</font>& sec);
 
 
PTYPES_END
 
<font CLASS=preproc>#endif</font> <font CLASS=comment>// __PTIME_H__ </font>
 
 
 
</pre>
 
</div>
 
 
<hr noshade></body>
</html>
Source at commit 8edbcdac0d39 created 11 years 11 months ago.
By Nathan Adams, initial commit

Archive Download this file

Branches

Tags

Page rendered in 0.94029s using 11 queries.