<
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
>