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