58 lines
1013 B
C++
58 lines
1013 B
C++
#include<hgl/Time.h>
|
|
|
|
namespace hgl
|
|
{
|
|
long GetGMTOff();
|
|
|
|
namespace
|
|
{
|
|
uint64 program_start_time=0;
|
|
|
|
long gmt_off=0; //windows下为long
|
|
|
|
struct TimeInit
|
|
{
|
|
TimeInit()
|
|
{
|
|
program_start_time=GetMicroTime();
|
|
|
|
gmt_off=GetGMTOff();
|
|
}
|
|
};//struct TimeInit
|
|
|
|
static TimeInit time_init;
|
|
}//namespace
|
|
|
|
/**
|
|
* 返回时区时差
|
|
*/
|
|
int GetTimeZone()
|
|
{
|
|
return gmt_off;
|
|
}
|
|
|
|
/**
|
|
* 取得本地当前时间(双精度)
|
|
* @return 当前时间(单位:秒)
|
|
*/
|
|
double GetLocalDoubleTime()
|
|
{
|
|
return GetDoubleTime()+GetTimeZone();
|
|
}
|
|
|
|
uint64 GetMilliStartTime()
|
|
{
|
|
return program_start_time/1000;
|
|
}
|
|
|
|
uint64 GetMicroStartTime()
|
|
{
|
|
return program_start_time;
|
|
}
|
|
|
|
double GetDoubleStartTime()
|
|
{
|
|
return double(program_start_time)/HGL_MICRO_SEC_PER_SEC;
|
|
}
|
|
}//namespace hgl
|