标签:
在做银行系统的过程中,想到一个功能,记录每一位用户的操作,即用户的日志。此时需要用到ctime库来获取当前的系统时间。
获取时间的源码如下:
time_t curtime=time(0); tm tim =*localtime(&curtime); int day,mon,year; int hour,min,sec; string time; hour=tim.tm_hour; min=tim.tm_min; sec=tim.tm_sec; day=tim.tm_mday; mon=tim.tm_mon; year=tim.tm_year; time=int2str(year+1900)+"-"+int2str(mon+1)+"-"+int2str(day)+" "+int2str(hour)+":"+int2str(min); cout<<time<<endl;
struct tm { int tm_sec; /*秒,0-59*/ int tm_min; /*分,0-59*/ int tm_hour; /*时,0-23*/ int tm_mday; /*天数,1-31*/ int tm_mon; /*月数,0-11*/ int tm_year; / *自1900的年数*/ int tm_wday; /*自星期日的天数0-6*/ int tm_yday; /*自1月1日起的天数,0-365*/ int tm_isdst; /*是否采用夏时制,采用为正数* }
注意
time是一个字符串型的变量,而所得到的year,mon,day等都是int型的变量,为了在银行系统里把时间作为一个变量输入到文件中,构造了一个int转string类型的函数:
string BankData::int2str(int num) { if (num==0) return "0" ; string str=""; int num_=num>0?num:-1*num; while (num_) { str=(char)(num_%10+48)+str; num_/=10 ; } if (num<0) str="-"+str; return str; }通过各个string变量的相加得到time变量。
@ Mayuko
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/mayuko2012/article/details/46900687