CTime time=CTime::GetCurrentTime();
这样就可以直接调用time的内部方法得到你想要的当前的时间了。
这是一个简单时间 *** 作类。#include <iostream>
#include <time.h>
using namespace std
class CTime
{
private:
int Tm_Hour
int Tm_Minute
int Tm_Second
time_t T_Val
public:
CTime()
CTime(const int&h,const int&m,const int&s)
inline void LocalTime(tm *t,time_t &tval)
{
tm *tm = localtime(&tval)
if(tm != NULL)
{
*t = *tm
}
}
inline void LocalTime(tm *t)
{
tm *tm = localtime(&T_Val)
if(tm != NULL)
{
*t = *tm
}
}
inline void set(tm *t)
{
//可以增加修改月份..
t->tm_hour = Tm_Hour
t->tm_min = Tm_Minute
t->tm_sec = Tm_Second
}
void set(const int&h,const int&m,const int&s)
inline void Maketime(tm * t)
{
T_Val = mktime(t)
}
inline void AddSecond(const int &ns=1)
{
T_Val += ns
}
const char * Format(const char* format,char *p,int len)
}
CTime::CTime()
{
T_Val = time(NULL)
}
CTime::CTime(const int&h,const int&m,const int&s):Tm_Hour(h),Tm_Minute(m),Tm_Second(s)
{
time_t t = time(NULL)
tm atm
memset(&atm,0,sizeof(atm))
LocalTime(&atm,t)
set(&atm)
Maketime(&atm)
}
void CTime::set(const int&h,const int&m,const int&s)
{
Tm_Hour = h
Tm_Minute = m
Tm_Second = s
tm atm
memset(&atm,0,sizeof(atm))
set(&atm)
Maketime(&atm)
}
const char * CTime::Format(const char* format,char *p,int len)
{
tm atm
memset(&atm,0,sizeof(atm))
if(T_Val >0)
{
LocalTime(&atm)
strftime(p,len,format,&atm)
return p
}
return NULL
}
int main ()
{
CTime t
char buf[32]={0}
t.Format("%H:%M:%S",buf,32)
cout <<buf <<endl
t.AddSecond(1)
t.Format("%H:%M:%S",buf,32)
cout <<buf <<endl
CTime t1(22,21,30)
t1.Format("%H:%M:%S",buf,32)
cout <<buf <<endl
t1.AddSecond(50)
t1.Format("%H:%M:%S",buf,32)
cout <<buf <<endl
}
通过c时间类型实现 函数详细使用请见baidu。
希望对你有帮助
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)