📄 mhtimemanager.cpp
字号:
// MHTimeManager.cpp: implementation of the CMHTimeManager class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "MHTimeManager.h"
#include "mmsystem.h"
DWORD gCurTime = 0; //檬扁拳 眠啊
DWORD gTickTime;
#define TICK_PER_DAY 8640000 // 24 * 60 * 60 * 1000
#define TICK_PER_HOUR 3600000 // 60 * 60 * 1000
#define TICK_PER_MINUTE 60000 // 60 * 1000
#define DAY_PER_YEAR 360
#define DAY_PER_MONTH 30
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CMHTimeManager::CMHTimeManager()
{
m_MHDate = 0;
m_MHTime = 0;
m_lasttime = 0;
}
CMHTimeManager::~CMHTimeManager()
{
}
void CMHTimeManager::Init(DWORD mhDate,DWORD mhTime)
{
m_MHDate = mhDate;
m_MHTime = mhTime;
}
void CMHTimeManager::Process()
{
static bool bFirst = true;
// static DWORD lasttime = 0;
static DWORD curtime = 0;
static int tempDay = 0;
if( !bFirst )
{
curtime = timeGetTime();
if( curtime < m_lasttime ) // DWORD 屈狼 茄拌甫 逞绢艾促
gTickTime = curtime - m_lasttime + 4294967295; //( 2^32 - 1 )
else
gTickTime = curtime - m_lasttime;
if( gTickTime == 0 ) return;
m_lasttime = curtime;
gCurTime += gTickTime;
if( gTickTime > 2000 )
int a = 0;
//////////////////////////////////////////////////////////////////////////
// 宫氢仿-_-a;
m_MHTime += gTickTime;
if(m_MHTime >= TICK_PER_DAY)
{
++m_MHDate;
m_MHTime -= TICK_PER_DAY;
}
}
else
{
curtime = m_lasttime = timeGetTime();
bFirst = false;
}
}
DWORD CMHTimeManager::GetNewCalcCurTime() //cur鸥烙 货肺 罐酒坷扁 扁粮 gCurTime, gTickTime俊 康氢绝促.
{
DWORD lcurtime = timeGetTime();
DWORD lTickTime;
if( lcurtime < m_lasttime ) // DWORD 屈狼 茄拌甫 逞绢艾促
lTickTime = lcurtime - m_lasttime + 4294967295; //( 2^32 - 1 )
else
lTickTime = lcurtime - m_lasttime;
return gCurTime + lTickTime;
}
DWORD CMHTimeManager::GetMHDate()
{
return m_MHDate;
}
DWORD CMHTimeManager::GetMHTime()
{
return m_MHTime;
}
void CMHTimeManager::GetMHDate(BYTE& year,BYTE& month,BYTE& day)
{
year = (BYTE)(m_MHDate / DAY_PER_YEAR) + 1;
month = (BYTE)((m_MHDate - year) / DAY_PER_MONTH) + 1;
day = (BYTE)m_MHDate % DAY_PER_MONTH + 1; // -_-a; 宫氢俊急 葛电 崔篮 30老鳖瘤促 -_-
}
void CMHTimeManager::GetMHTime(BYTE& hour,BYTE& minute)
{
hour = (BYTE)m_MHTime / TICK_PER_HOUR;
minute = (BYTE)(m_MHTime - hour) / TICK_PER_MINUTE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -