将1970往后的秒数转化为年月日时分秒的格式

 QDateTime current_date_time = QDateTime::currentDateTime();
 current_date_time.toTime_t();
 
 struct tm *p;
 //比如123456789是从1970往后走过的微秒时间
 //将微秒 转化为 秒 , 再将秒转化为 time_t
 time_t t = static_cast<time_t>(123456789/1000000);
 //将time_t 转化为tm
 p = gmtime(&t);

//取出tm的时间,年+1970,月+1 , 最后取出对应的毫秒
QString imageDate = QString("%1年%2月%3日%4时%5分%6秒%7").arg(1900+p->tm_year).arg(1+p->tm_mon).arg(p->tm_mday)
.arg(p->tm_hour).arg(p->tm_min).arg(p->tm_sec).arg(123456789/1000%1000
);

//64位操作系统,
QString Manage::getBackupTime()
{
//获取当前系统时间,并转为秒
QDateTime current_date_time = QDateTime::currentDateTime();
unsigned int timeT = current_date_time.toTime_t();
qDebug() << “------ current_date_time : " << current_date_time << timeT;
//将秒转为时间,年+1900 ,月+1
struct tm *p;
time_t t = static_cast<time_t>(timeT);
//将time_t 转化为tm
p = gmtime(&t);
return QString(”%1/%2/%3 %4:%5:%6").arg(1900+p->tm_year).arg(1+p->tm_mon).arg(p->tm_mday).arg(p->tm_hour).arg(p->tm_min).arg(p->tm_sec);
}

#include <time.h>
time, gmtime, asctime 所表示的时间都是UTC时间,只是数据类型不一样,(一般会比转化时区后的时间少8小时)
而localtime, ctime 所表示的时间都是经过时区转换后的时间,它和你用系统命令date所表示的CST时间应该保持一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值