关于时间戳和QDateTime相互转换的有关问题

1.toTime_t()把2014年12月19日10:24:40这样的QDateTime的格式转变为1418955940这样的时间戳

QDateTime time = QDateTime::currentDateTime();   //获取当前时间
int timeT = time.toTime_t();   //将当前时间转为时间戳
2.与toTime_t()功能相反的是fromTime_t(),把时间戳转为QDateTime类型。因为这个方法是静态的,所以使用方法为
QDateTime time = QDateTime::fromTime_t(timeT);
另外再说一点,上次在做项目时我们并不会输入2014年12月19日10:24:40这样的格式,因为太繁琐了,测试需要很多次,每次都输入这样的格式太麻烦了,一般会输入20141219102440这样的格式,那么就需要字符串的拆分,因为程序是Qt的环境下,所以使用了mid(),C++下可以使用substr(),这两个函数功能相同
QDate date;
QTime time;
QString a = timeString.mid(0,8);
QString b = timeString.mid(8,6);
date = QDate::fromString(a,"yyyyMMdd");
time = QTime::fromString(b,"hhmmss");
return QDateTime(date,time);")
这样就可以了,希望这点知识能帮助到你。



你可能感兴趣的:(C/C++,Qt)