使用C标准库函数clock表示系统启动后的毫秒数
This commit is contained in:
parent
5cacafc1f2
commit
ccdbc49abb
|
@ -3,7 +3,7 @@
|
|||
#include "SString.h"
|
||||
#include "DateTime.h"
|
||||
|
||||
#include "Environment.h"
|
||||
#include <time.h>
|
||||
|
||||
/************************************************ DateTime ************************************************/
|
||||
|
||||
|
@ -414,9 +414,8 @@ cstring DateTime::GetString(byte kind, char* str)
|
|||
// 当前时间
|
||||
DateTime DateTime::Now()
|
||||
{
|
||||
auto& env = Environment;
|
||||
DateTime dt(env.Seconds() + env.BaseSeconds());
|
||||
//dt.Ms = env.Ms();
|
||||
DateTime dt(time(NULL));
|
||||
dt.Ms = clock();
|
||||
|
||||
return dt;
|
||||
}
|
||||
|
|
|
@ -8,31 +8,11 @@
|
|||
const TEnvironment Environment;
|
||||
|
||||
/************************************************ TEnvironment ************************************************/
|
||||
TEnvironment::TEnvironment()
|
||||
{
|
||||
srand(time(NULL));
|
||||
}
|
||||
|
||||
// 程序执行起(一般为程序的开头),处理器时钟所使用的时间
|
||||
UInt64 TEnvironment::Ticks() const
|
||||
{
|
||||
return clock();
|
||||
}
|
||||
|
||||
// 每秒的处理器时钟个数
|
||||
uint TEnvironment::ClocksPerSecond() const
|
||||
{
|
||||
return CLOCKS_PER_SEC;
|
||||
}
|
||||
// 获取系统启动后经过的毫秒数
|
||||
UInt64 TEnvironment::TickCount() const { return clock(); }
|
||||
|
||||
// 获取系统启动后经过的毫秒数
|
||||
UInt64 TEnvironment::TickCount() const
|
||||
{
|
||||
return clock() * 1000 / CLOCKS_PER_SEC;
|
||||
}
|
||||
UInt64 TEnvironment::Ms() const { return clock(); }
|
||||
|
||||
// 获取当前计算机上的处理器数
|
||||
int TEnvironment::ProcessorCount() const
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
int TEnvironment::ProcessorCount() const { return 1; }
|
||||
|
|
|
@ -5,21 +5,11 @@
|
|||
class TEnvironment
|
||||
{
|
||||
public:
|
||||
TEnvironment();
|
||||
|
||||
// 程序执行起(一般为程序的开头),处理器时钟所使用的时间
|
||||
UInt64 Ticks() const;
|
||||
// 每秒的处理器时钟个数
|
||||
uint ClocksPerSecond() const;
|
||||
// 获取系统启动后经过的毫秒数
|
||||
UInt64 TickCount() const;
|
||||
|
||||
// 获取系统启动后经过的毫秒数
|
||||
UInt64 Ms() const;
|
||||
// 获取系统基准秒数。加上启动后秒数即可得到绝对时间
|
||||
uint BaseSeconds() const;
|
||||
// 获取系统启动后经过的秒数
|
||||
uint Seconds() const;
|
||||
|
||||
// 获取当前计算机上的处理器数
|
||||
int ProcessorCount() const;
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
#include "Time.h"
|
||||
#include <time.h>
|
||||
|
||||
#include "Time.h"
|
||||
|
||||
#include "Environment.h"
|
||||
|
||||
|
@ -128,13 +130,23 @@ void TTime::Delay(uint us) const
|
|||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
extern "C"
|
||||
{
|
||||
// 获取系统启动后经过的毫秒数
|
||||
UInt64 TEnvironment::Ms() const { return Time.Current(); }
|
||||
// 获取系统基准秒数。加上启动后秒数即可得到绝对时间
|
||||
uint TEnvironment::BaseSeconds() const{ return Time.BaseSeconds; }
|
||||
// 获取系统启动后经过的秒数
|
||||
uint TEnvironment::Seconds() const{ return Time.Seconds; }
|
||||
clock_t clock(void)
|
||||
{
|
||||
return Time.Current();
|
||||
}
|
||||
|
||||
// 实现C函数库的time函数
|
||||
time_t time(time_t* seconds)
|
||||
{
|
||||
uint s = Time.BaseSeconds + Time.Seconds;
|
||||
if(seconds) *seconds = s;
|
||||
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
/************************************************ TimeWheel ************************************************/
|
||||
|
||||
|
|
Loading…
Reference in New Issue