ptime.h

来自「PTypes是一个扩充了多线程和网络功能的STL库」· C头文件 代码 · 共 73 行

H
73
字号
/* * *  C++ Portable Types Library (PTypes) *  Version 2.0.2  Released 17-May-2004 * *  Copyright (C) 2001-2004 Hovik Melikyan * *  http://www.melikyan.com/ptypes/ * */#ifndef __PTIME_H__#define __PTIME_H__#ifndef __PPORT_H__#include "pport.h"#endif#ifndef __PTYPES_H__#include "ptypes.h"#endif#include <time.h>PTYPES_BEGIN// datetime type: 64-bit, number of milliseconds since midnight 01/01/0001typedef large datetime;#define invdatetime LLCONST(-1)#define _msecsmax 86400000                    // number of milliseconds in one day#define _daysmax  3652059                     // number of days between 01/01/0001 and 12/31/9999#define _datetimemax LLCONST(315537897600000) // max. allowed number for datetime type#define _unixepoch LLCONST(62135596800000)    // difference between time_t and datetime in milliseconds// datetime general utilitiesinline int days(datetime d)            { return int(d / _msecsmax); }inline int msecs(datetime d)           { return int(d % _msecsmax); }ptpublic datetime ptdecl mkdt(int days, int msecs);ptpublic bool     ptdecl isvalid(datetime);ptpublic datetime ptdecl now(bool utc = true);ptpublic void     ptdecl tzupdate();ptpublic int      ptdecl tzoffset();ptpublic string   ptdecl dttostring(datetime, const char* fmt);ptpublic string   ptdecl nowstring(const char* fmt, bool utc = true);ptpublic datetime ptdecl utodatetime(time_t u);ptpublic struct tm* ptdecl dttotm(datetime dt, struct tm& t);// date/calendar manipulationptpublic bool     ptdecl isleapyear(int year);ptpublic int      ptdecl daysinmonth(int year, int month);ptpublic int      ptdecl daysinyear(int year, int month);ptpublic int      ptdecl dayofweek(datetime);ptpublic bool     ptdecl isdatevalid(int year, int month, int day);ptpublic datetime ptdecl encodedate(int year, int month, int day);ptpublic bool     ptdecl decodedate(datetime, int& year, int& month, int& day);// time manipulationptpublic bool     ptdecl istimevalid(int hour, int min, int sec, int msec = 0);ptpublic datetime ptdecl encodetime(int hour, int min, int sec, int msec = 0);ptpublic bool     ptdecl decodetime(datetime, int& hour, int& min, int& sec, int& msec);ptpublic bool     ptdecl decodetime(datetime, int& hour, int& min, int& sec);PTYPES_END#endif // __PTIME_H__

⌨️ 快捷键说明

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