亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hightime.h

?? high time source code
?? H
字號:
//////////////////////////////////////////////////////////////////////
//
// HighTime.h: interface for the CHighTime class.
//
//////////////////////////////////////////////////////////////////////
//
// CHighTime and CHighTimeSpan are two classes for high resolution time
// The range is +/-29000 years and smallest step is 0.1 microsecond
// They works like COleDateTime and COleDateTimeSpan.
// I wrote these because MS could not write working time classes
//
// Author: Hakan Trygg, h.kan@home.se
// Classes are not to be sold for profit.
// Please send me a mail if you find it useful and using it

// Revision history: 
// 1.0 : 12 Jan 2000 : /HT : Created
// 1.1 : 19 Jan 2000 : /HT : Made it possible to use classes without MFC
//////////////////////////////////////////////////////////////////////

#if !defined(_HIGHTIME_H_)
#define _HIGHTIME_H_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#ifdef _AFXDLL
#define USE_MFC
#endif

#ifndef USE_MFC

#include <windows.h>
#include <time.h>
#include <assert.h>

#ifndef ASSERT
    #ifdef _DEBUG
    #define ASSERT assert
    #else
    #define ASSERT
    #endif // _DEBUG
#endif // !ASSERT

#endif //!USE_MFC

#define HIGH_DATETIME_ERROR (-1)
#define INVALID_DATETIME "Invalid datetime"
#define INVALID_SPANTIME "Invalid datetimespan"

class CHighTime;
class CHighTimeSpan;

class CHighTime
{
public:
    static const CHighTime GetPresentTime();
public:
    enum HighTimeStatus {
       valid = 0,
       invalid = 1,
       null = 2,
    };
	CHighTime();
	CHighTime(const CHighTime &dateSrc);
    CHighTime(const LARGE_INTEGER dateSrc);
    CHighTime(const ULONGLONG dateSrc);
#if defined(USE_MFC)
    CHighTime(const COleDateTime &dateSrc);
    CHighTime(const CTime &dateSrc);
#endif
	CHighTime(const SYSTEMTIME &systimeSrc);
	CHighTime(const FILETIME &filetimeSrc);
	CHighTime(const time_t timeSrc);
	CHighTime(int nYear, int nMonth, int nDay,
              int nHour, int nMinute, int nSecond, 
              int nMilli = 0, int nMicro = 0, int nNano = 0);

// operators
public:
	const CHighTime& operator=(const CHighTime& dateSrc);
	const CHighTime& operator=(const LARGE_INTEGER dateSrc);
	const CHighTime& operator=(const ULONGLONG dateSrc);
#if defined(USE_MFC)
	const CHighTime& operator=(const COleDateTime& dateSrc);
	const CHighTime& operator=(const CTime& dateSrc);
#endif

	const CHighTime& operator=(const SYSTEMTIME& systimeSrc);
	const CHighTime& operator=(const FILETIME& filetimeSrc);
	const CHighTime& operator=(const time_t& timeSrc);

    bool operator==(const CHighTime& date) const;
    bool operator!=(const CHighTime& date) const;
    bool operator<(const CHighTime& date) const;
    bool operator>(const CHighTime& date) const;
    bool operator<=(const CHighTime& date) const;
    bool operator>=(const CHighTime& date) const;

    // CHighTime math
    CHighTime operator+(const CHighTimeSpan &dateSpan) const;
    CHighTime operator-(const CHighTimeSpan &dateSpan) const;
    const CHighTime& operator+=(const CHighTimeSpan dateSpan);
    const CHighTime& operator-=(const CHighTimeSpan dateSpan);

    // CHighTimeSpan math
    CHighTimeSpan operator-(const CHighTime& date) const;

    operator SYSTEMTIME() const;
    operator FILETIME() const;
    operator LARGE_INTEGER() const {return m_liTime;}
    operator LONGLONG() const {return m_liTime.QuadPart;}
#if defined(USE_MFC)
    operator COleDateTime() const;
    operator CTime() const;
    const COleDateTime GetCOleDateTime(bool bAdjusted=false) const;
#endif //defined(USE_MFC)

    // Operations
public:
    int SetDateTime(int nYear, int nMonth, int nDay,
                    int nHour, int nMinute, int nSecond, 
                    int nMilli = 0, int nMicro = 0, int nNano = 0);
	int SetDate(int nYear, int nMonth, int nDay);
	int SetTime(int nHour, int nMin, int nSec);
	int SetFracTime(int nMilli, int nMicro, int nNano);

    HighTimeStatus GetStatus() const {return m_status;}
    void SetStatus(HighTimeStatus status) { m_status = status; }
	BOOL GetAsSystemTime(SYSTEMTIME& sysTime) const;

	int GetYear() const;
	int GetMonth() const;       // month of year (1 = Jan)
	int GetDay() const;         // day of month (0-31)
	int GetHour() const;        // hour in day (0-23)
	int GetMinute() const;      // minute in hour (0-59)
	int GetSecond() const;      // second in minute (0-59)
	int GetMilliSecond() const; // millisecond in minute (0-999)
	int GetMicroSecond() const; // microsecond in minute (0-999)
	int GetNanoSecond() const;  // nanosecond in minute (0-999), step of 100ns
    int GetDayOfWeek() const;   // 1=Sun, 2=Mon, ..., 7=Sat
	int GetDayOfYear() const;   // days since start of year, Jan 1 = 1

    // formatting

#if defined(USE_MFC)
	CString Format(LPCTSTR lpszFormat) const;
	CString Format(UINT nFormatID) const;
#endif // defined(USE_MFC)
    // This function is not complete yet.. it can not show milli.micro or nanoseconds
    // but the rest works
	LPCTSTR Format(LPSTR pszBuffer, int iBufferLen, LPCTSTR pszFormat) const;

public:
	HighTimeStatus   m_status;
    LARGE_INTEGER    m_liTime;

public:
#if defined(USE_MFC)
#ifdef _DEBUG
    friend CDumpContext& AFXAPI operator<<(CDumpContext& dc,CHighTime dateSrc);
#endif
    friend CArchive& AFXAPI operator<<(CArchive& ar, CHighTime dateSrc);
    friend CArchive& AFXAPI operator>>(CArchive& ar, CHighTime& dateSrc);
#endif

private:
    struct _HighTimeFormat {
        int  nYear;
        UINT nMonth;
        UINT nDay;
        UINT nHour;
        UINT nMinute;
        UINT nSecond;
        UINT nMilli;
        UINT nMicro;
        UINT nNano;
        UINT nDayOfYear;
        UINT nDayOfWeek;
    };
    static int anMonthDayInYear[13];
    static BOOL ConvertTimeToLongLong(const _HighTimeFormat  &SrcTime,
                                      LARGE_INTEGER &liDestTime);
    static BOOL ConvertLongLongToTime(const LARGE_INTEGER &liSrcTime,
                                       _HighTimeFormat  &DestTime);
    static void ConvertToStandardFormat(_HighTimeFormat &tmTempHigh, tm &tmTemp);

    // String helper functions
    static int FindStr(LPCTSTR pszSource, LPCTSTR pszSub, int nStart);
    static int ReplaceStr(LPSTR pszDest, int nDestSize, LPCTSTR pszMask, LPCTSTR pszSource);

    friend class CHighTimeSpan;
}; //class CHighTime

#if defined(USE_MFC)
// CHighTime diagnostics and serialization
#ifdef _DEBUG
CDumpContext& AFXAPI operator<<(CDumpContext& dc,CHighTime dateSrc);
#endif
CArchive& AFXAPI operator<<(CArchive& ar, CHighTime dateSrc);
CArchive& AFXAPI operator>>(CArchive& ar, CHighTime& dateSrc);
#endif //defined(USE_MFC)



class CHighTimeSpan
{
public:
    enum HighTimeSpanStatus {
       valid = 0,
       invalid = 1,
       null = 2,
    };

    CHighTimeSpan();
    CHighTimeSpan(const ULONGLONG dateSrcSpan);
    CHighTimeSpan(const LARGE_INTEGER dateSrcSpan);
#if defined(USE_MFC)
    CHighTimeSpan(const COleDateTimeSpan &dateSrcSpan);
    CHighTimeSpan(const CTimeSpan &dateSrcSpan);
#endif
    CHighTimeSpan(const CHighTimeSpan &dateSrcSpan);
	CHighTimeSpan(long lDays, int nHours, int nMins, int nSecs,
                  int nMilli = 0, int nMicro = 0, int nNano = 0);

    // Operations
public:
    void SetStatus(HighTimeSpanStatus status) { m_status = status; }
    HighTimeSpanStatus GetStatus() const {return m_status;}

	void SetHighTimeSpan(long lDays, int nHours, int nMins, int nSecs,
                                     int nMillis = 0, int nMicros = 0, int nNanos = 0);

	LONGLONG GetTotalDays() const;    // span in days (about -3.65e6 to 3.65e6)
	LONGLONG GetTotalHours() const;   // span in hours (about -8.77e7 to 8.77e6)
	LONGLONG GetTotalMinutes() const; // span in minutes (about -5.26e9 to 5.26e9)
	LONGLONG GetTotalSeconds() const; // span in seconds (about -3.16e11 to 3.16e11)
	LONGLONG GetTotalMilliSeconds() const; // span in milliseconds
	LONGLONG GetTotalMicroSeconds() const; // span in microseconds
	LONGLONG GetTotalNanoSeconds() const; // span in nanoseconds

	int GetDays() const;       // component days in span
	int GetHours() const;      // component hours in span (-23 to 23)
	int GetMinutes() const;    // component minutes in span (-59 to 59)
	int GetSeconds() const;    // component seconds in span (-59 to 59)
	int GetMilliSeconds() const; // component Milliseconds in span (-999 to 999)
	int GetMicroSeconds() const; // component Microseconds in span (-999 to 999)
	int GetNanoSeconds() const;  // component Nanoseconds in span (-900 to 900)

    bool IsNegative() const;

    // formatting
    LPSTR Format(LPSTR pszBuffer, int iBufferLen, LPCTSTR pFormat) const;
#if defined(USE_MFC)
    CString Format(LPCTSTR pFormat) const;
	CString Format(UINT nID) const;
#endif

    // operators
public:
	const CHighTimeSpan& operator=(LARGE_INTEGER dateSpanSrc);
	const CHighTimeSpan& operator=(LONGLONG dateSpanSrc);
	const CHighTimeSpan& operator=(const CHighTimeSpan& dateSpanSrc);
#if defined(USE_MFC)
	const CHighTimeSpan& operator=(const COleDateTimeSpan& dateSpanSrc);
	const CHighTimeSpan& operator=(const CTimeSpan& dateSpanSrc);
#endif

    bool operator==(const CHighTimeSpan& dateSpan) const;
	bool operator!=(const CHighTimeSpan& dateSpan) const;
	bool operator<(const CHighTimeSpan& dateSpan) const;
	bool operator>(const CHighTimeSpan& dateSpan) const;
	bool operator<=(const CHighTimeSpan& dateSpan) const;
	bool operator>=(const CHighTimeSpan& dateSpan) const;

	// CHighTimeSpan math
	CHighTimeSpan operator+(const CHighTimeSpan& dateSpan) const;
	CHighTimeSpan operator-(const CHighTimeSpan& dateSpan) const;
	const CHighTimeSpan& operator+=(const CHighTimeSpan dateSpan);
	const CHighTimeSpan& operator-=(const CHighTimeSpan dateSpan);
	CHighTimeSpan operator-() const;

    operator LARGE_INTEGER() const {return m_liSpan;}
    operator LONGLONG() const {return m_liSpan.QuadPart;}
#if defined(USE_MFC)
    operator COleDateTimeSpan() const;
    operator CTimeSpan() const;
    const COleDateTimeSpan GetCOleDateTimeSpan(bool bAdjusted=false) const;
#endif //defined(USE_MFC)

public:
	HighTimeSpanStatus m_status;
    LARGE_INTEGER      m_liSpan;

public:
#if defined(USE_MFC)
#ifdef _DEBUG
    friend CDumpContext& AFXAPI operator<<(CDumpContext& dc,CHighTimeSpan dateSpanSrc);
#endif
    friend CArchive& AFXAPI operator<<(CArchive& ar, CHighTimeSpan dateSpanSrc);
    friend CArchive& AFXAPI operator>>(CArchive& ar, CHighTimeSpan& dateSpanSrc);
#endif

private:
    friend class CHighTime;
}; // class CHighTimeSpan

#if defined(USE_MFC)
// CHighTimeSpan diagnostics and serialization
#ifdef _DEBUG
CDumpContext& AFXAPI operator<<(CDumpContext& dc,CHighTimeSpan dateSpanSrc);
#endif
CArchive& AFXAPI operator<<(CArchive& ar, CHighTimeSpan dateSpanSrc);
CArchive& AFXAPI operator>>(CArchive& ar, CHighTimeSpan& dateSpanSrc);
#endif //defined(USE_MFC)

#include "hightime.inl"

#endif // !defined(_HIGHTIME_H_)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区不卡 | 精品国产露脸精彩对白| 亚洲国产精品人人做人人爽| 欧美性色黄大片| 亚洲成a人片在线观看中文| 欧美日韩视频在线一区二区| 日韩av网站在线观看| 91精品国产品国语在线不卡| 黄色成人免费在线| 中文字幕一区二区三区精华液| 丝袜a∨在线一区二区三区不卡| 欧美猛男超大videosgay| 日韩不卡在线观看日韩不卡视频| 日韩一级完整毛片| 国产成人综合亚洲网站| 亚洲另类在线一区| 91精品国产色综合久久久蜜香臀| 国产在线观看一区二区| 中文字幕一区二区在线播放| 欧美日韩国产不卡| 国产剧情一区二区三区| 一区二区三区四区不卡在线| 91精品国产综合久久精品app| 国产一区二区三区黄视频| 国产精品久久久久影院色老大| 欧美影视一区二区三区| 久久99精品国产.久久久久久| 国产精品福利一区| 在线不卡欧美精品一区二区三区| 国产一区美女在线| 亚洲.国产.中文慕字在线| 欧美精品一区二区久久婷婷| 91黄色激情网站| 国产一区二区三区在线观看精品| 亚洲欧洲在线观看av| 日韩三级中文字幕| 色综合久久九月婷婷色综合| 狠狠色丁香婷婷综合久久片| 亚洲综合丁香婷婷六月香| 国产视频一区不卡| 欧美一区二视频| 色猫猫国产区一区二在线视频| 久99久精品视频免费观看| 亚洲一区二区影院| 国产欧美日本一区视频| 91精品国产手机| 欧美伊人久久久久久午夜久久久久| 国产激情视频一区二区在线观看| 午夜影院久久久| 亚洲精品日韩一| 国产欧美日韩亚州综合 | 日本欧美在线观看| 尤物av一区二区| 日本一区二区三区免费乱视频| 8x8x8国产精品| 在线观看精品一区| 99久久精品免费看国产 | 成人久久视频在线观看| 欧美疯狂做受xxxx富婆| 欧美成人国产一区二区| 一本大道久久精品懂色aⅴ| 国产一区在线不卡| 久久精品久久综合| 日韩二区三区四区| 五月天欧美精品| 夜夜精品视频一区二区 | 777色狠狠一区二区三区| av不卡在线播放| 成人h精品动漫一区二区三区| 国产一区二区三区av电影 | 狠狠狠色丁香婷婷综合久久五月| 日韩精品一二三四| 无码av免费一区二区三区试看| 亚洲女厕所小便bbb| 日韩一区中文字幕| 亚洲欧洲日韩在线| 亚洲靠逼com| 一区二区三区日韩在线观看| 一区二区成人在线| 亚洲成人免费影院| 偷窥少妇高潮呻吟av久久免费| 亚洲18女电影在线观看| 天天色综合天天| 老司机一区二区| 国产综合色精品一区二区三区| 国产毛片精品视频| 波多野结衣91| 在线免费观看不卡av| 欧美日韩美女一区二区| 欧美日韩一级大片网址| 欧美一区二区三区性视频| 欧美tickling挠脚心丨vk| 欧美精品一区二区久久久| 国产精品视频在线看| 亚洲免费在线看| 午夜av一区二区| 精品夜夜嗨av一区二区三区| 成人永久aaa| 欧美综合久久久| 日韩一区二区在线观看视频| 精品第一国产综合精品aⅴ| 日本一区二区综合亚洲| 亚洲啪啪综合av一区二区三区| 亚洲国产精品尤物yw在线观看| 亚洲成a人v欧美综合天堂下载 | 日韩欧美专区在线| 精品精品国产高清a毛片牛牛| 久久午夜老司机| 亚洲欧美综合色| 日韩不卡在线观看日韩不卡视频| 国产一区在线看| 95精品视频在线| 日韩一级精品视频在线观看| 欧美精彩视频一区二区三区| 一区二区三区四区蜜桃| 久久爱另类一区二区小说| 97国产精品videossex| 欧美一级欧美三级在线观看| 国产精品卡一卡二| 日韩av一区二区三区四区| 不卡一区中文字幕| 欧美不卡激情三级在线观看| 国产精品国产三级国产aⅴ原创| 日韩国产高清在线| www.av精品| 欧美岛国在线观看| 亚洲精品综合在线| 国产一区美女在线| 欧美日韩精品一区二区三区| 欧美经典一区二区| 青青草精品视频| 色激情天天射综合网| 久久综合999| 日韩精品福利网| 一本一道综合狠狠老| 国产亚洲污的网站| 日日夜夜精品视频天天综合网| 北条麻妃一区二区三区| 精品国产污污免费网站入口 | 亚洲成年人网站在线观看| 成人一区二区视频| 日韩精品中文字幕一区| 亚洲午夜精品17c| k8久久久一区二区三区| 久久亚洲精品国产精品紫薇| 日韩精品欧美精品| 欧美日韩午夜精品| 一区二区三区四区不卡视频| av午夜一区麻豆| 久久九九久久九九| 久久国产精品99久久人人澡| 欧美欧美欧美欧美首页| 亚洲在线免费播放| 91亚洲精品久久久蜜桃| 国产欧美日韩不卡| 国产精品原创巨作av| 精品久久久久久亚洲综合网| 免费成人av在线| 欧美一区二区三区四区高清 | 国产精品国产三级国产aⅴ原创| 激情伊人五月天久久综合| 日韩欧美一二区| 青娱乐精品在线视频| 日韩一区二区三| 老汉av免费一区二区三区| 日韩一区二区三区四区五区六区| 午夜精品福利久久久| 欧美日韩精品是欧美日韩精品| 亚洲电影在线免费观看| 欧美色欧美亚洲另类二区| 亚洲大片精品永久免费| 欧美日韩一区不卡| 日韩电影在线免费| 精品少妇一区二区三区在线播放 | 亚洲日本乱码在线观看| 久久99精品国产.久久久久久| 日韩一区二区三区视频在线| 日韩不卡一区二区三区| 精品少妇一区二区三区在线播放| 精品无人码麻豆乱码1区2区 | 欧美视频一区二区三区在线观看| 亚洲欧美一区二区久久| 欧美色倩网站大全免费| 日韩精品电影在线观看| 欧美精品一区二区蜜臀亚洲| 国产精品1区2区3区| 中文字幕日韩一区二区| 日本久久一区二区三区| 日日摸夜夜添夜夜添精品视频| 69精品人人人人| 国产真实乱子伦精品视频| 国产精品国产三级国产有无不卡 | 丝袜亚洲另类欧美综合| 欧美一区二区美女| 国产精品一区二区久久精品爱涩| 中文字幕在线不卡视频| 欧美日韩一区二区三区四区| 免费观看91视频大全| 国产精品嫩草影院av蜜臀| 在线视频综合导航|