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

📄 vsdatetime.h

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 H
字号:
//////////////////////////////////////////////////////////////////////////////// Filename    : VSDateTime.h// Written by  : excel96// Description ://////////////////////////////////////////////////////////////////////////////#ifndef __VSDATETIME_H__#define __VSDATETIME_H__#include <sys/types.h>#include <string>using namespace std;#ifndef uint	typedef unsigned int   uint;#endif//////////////////////////////////////////////////////////////////////////////// class VSDate//////////////////////////////////////////////////////////////////////////////class VSDate{///// Friend class definition /////private:    friend class VSDateTime;///// Member methodspublic:     VSDate(){ jd=0; }     VSDate(int y, int m, int d); 	public:    bool   isNull() const { return jd == 0; }    bool   isValid() const;    int    year() const;        // 1752..    int    month() const;       // 1..12    int    day() const;         // 1..31    int    dayOfWeek() const;   // 1..7 (monday==1)    int    dayOfYear() const;   // 1..365    int    daysInMonth() const; // 28..31    int    daysInYear() const;  // 365 or 366    string toString() const;    string toStringforWeb() const;    bool   setYMD(int y, int m, int d);    VSDate addDays(int days) const;    int    daysTo(const VSDate &) const;public:    bool operator == (const VSDate &d) const { return jd == d.jd; }    bool operator != (const VSDate &d) const { return jd != d.jd; }    bool operator <  (const VSDate &d) const { return jd <  d.jd; }    bool operator <= (const VSDate &d) const { return jd <= d.jd; }    bool operator >  (const VSDate &d) const { return jd >  d.jd; }    bool operator >= (const VSDate &d) const { return jd >= d.jd; }public:    static VSDate currentDate();	static VSDate fromString(string text);    static bool   isValid(int y, int m, int d);    static bool   leapYear(int year);protected:    static uint greg2jul(int y, int m, int d);    static void jul2greg(uint jd, int &y, int &m, int &d);///// Member data /////private:    uint jd;};//////////////////////////////////////////////////////////////////////////////// class VSTime//////////////////////////////////////////////////////////////////////////////class VSTime{//// Friend class definition /////private:    friend class VSDateTime;///// Member methods /////public:    VSTime() { ds=0; }    VSTime(int h, int m, int s=0, int ms=0);public:    bool   isNull() const { return ds == 0; }    bool   isValid() const;    int    hour() const;    // 0..23    int    minute() const;  // 0..59    int    second() const;  // 0..59    int    msec() const;    // 0..999    string toString() const;    string toStringforWeb() const;    bool   setHMS(int h, int m, int s, int ms=0);    VSTime addSecs(int secs) const;    int    secsTo(const VSTime &) const;    VSTime addMSecs(int ms) const;    int    msecsTo(const VSTime &) const;public:    bool operator == (const VSTime &d) const { return ds == d.ds; }    bool operator != (const VSTime &d) const { return ds != d.ds; }    bool operator <  (const VSTime &d) const { return ds <  d.ds; }    bool operator <= (const VSTime &d) const { return ds <= d.ds; }    bool operator >  (const VSTime &d) const { return ds >  d.ds; }    bool operator >= (const VSTime &d) const { return ds >= d.ds; }public:	//////////////////////////////////////////////////	// start()肺结 矫累痢阑 历厘秦 滴绊,	// elapsed肺 割 milli-second啊 瘤车绰瘤	// 舅酒郴搁 掉饭捞 炼荤窍绰 何盒 鞍篮 镑俊 	// 镜 荐 乐促.	//////////////////////////////////////////////////    void start();    int  restart();    int  elapsed();public:    static VSTime currentTime();	static VSTime fromString(string text);    static bool isValid(int h, int m, int s, int ms=0);private:    static bool currentTime(VSTime *);///// Member data /////private:    uint ds;};//////////////////////////////////////////////////////////////////////////////// class VSDateTime//////////////////////////////////////////////////////////////////////////////class VSDateTime{///// Member methods /////public:    VSDateTime() {}    VSDateTime(const VSDate &);    VSDateTime(const VSDate &, const VSTime &);    VSDateTime(const VSDateTime &);    VSDateTime(const string& DateTime);    bool       isNull() const { return d.isNull() && t.isNull(); }    bool       isValid() const { return d.isValid() && t.isValid(); }    const VSDate&    date() const { return d; }    const VSTime&    time() const { return t; }    void       setDate(const VSDate &date) { d=date; }    void       setTime(const VSTime &time) { t=time; }    void       setTime_t(uint secsSince1Jan1970UTC);    string     toString() const;    string     toStringforWeb() const;    string     toDateTime() const;    VSDateTime addDays(int days) const;    VSDateTime addSecs(int secs) const;    VSDateTime addMSecs(int secs) const;    int        daysTo(const VSDateTime &) const;    int        secsTo(const VSDateTime &) const;    int        msecsTo(const VSDateTime &) const;public:    bool operator == (const VSDateTime &dt) const;    bool operator != (const VSDateTime &dt) const;    bool operator <  (const VSDateTime &dt) const;    bool operator <= (const VSDateTime &dt) const;    bool operator >  (const VSDateTime &dt) const;    bool operator >= (const VSDateTime &dt) const;public:    static VSDateTime currentDateTime();	static VSDateTime fromString(string text);	static VSDateTime fromYYYYMMDDHHMMSS( string text, bool bEndOfDay = true );///// Member data /////private:    VSDate d;    VSTime t;};#endif // #ifndef __VSDATETIME_H__

⌨️ 快捷键说明

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