C++获取当前系统时间

在做银行系统的过程中,想到一个功能,记录每一位用户的操作,即用户的日志。此时需要用到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;

其中,在tm结构体中:

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




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值