/** * @file TimeUtility.h * @brief 常用时间函数 * @author 沙漠乌鸦 * @time 2009-10-20 */ #pragma once class AFX_EXT_CLASS CTimeUtility { public: CTimeUtility(void); ~CTimeUtility(void); /** @brief 获取时间标记 */ static ULONGLONG GetTimeStamp(); /** * @brief 获取时间标记字符串 * @return 返回格式为2009-10-08 10:20:48 */ static CString GetTimeStampStr(); static int GetAbsoluteDay(SYSTEMTIME time); // 返回time是从公元1年1月1日算起的第多少天,如0001-01-01为第一天 static SYSTEMTIME GetTimeOfAbsoluteDay(int day); // day是从公元1年1月1日算起的第多少天,如0001-01-01为第一天 static int GetAbsoluteYear(SYSTEMTIME time); static int GetAbsoluteMonth(SYSTEMTIME time); static int GetDaysOfYear(int iYear); static int GetDaysOfMonth(int iYear,int iMonth); static SYSTEMTIME TimeAddDays(SYSTEMTIME time,int day); ///< 获取从当前日期增加若干天后的日期 static SYSTEMTIME TimeSubDays(SYSTEMTIME time,int day); ///< 获取从当前日期减少若干天后的日期 static int TimeSpanDays(SYSTEMTIME t0,SYSTEMTIME t1); static int TimeSpanYears(SYSTEMTIME t0,SYSTEMTIME t1); static int TimeSpanMonths(SYSTEMTIME t0,SYSTEMTIME t1); private: static ULONGLONG m_gUllTime; static UINT m_nIncrease; };