这篇文章主要介绍“QT时间类有哪些”,在日常操作中,相信很多人在QT时间类有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”QT时间类有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
QT获取时间的类有3个,分别是QDate、QTime、QDateTime,他们属于QT的network模块。
QDATE对象包含公历中的日历日期,即年、月和日数。它可以从系统时钟读取当前日期。它提供了比较日期和操作日期的功能。
QDate::currentDate()从系统时钟读取当前日期。例如:QDate::currentDate().toString("yyyy.MM.dd")
QTIME对象包含时钟时间,即从午夜开始的小时数、分钟数、秒数和毫秒数。它可以从系统时钟读取当前时间并测量经过的时间跨度。它提供了用于比较时间和通过添加毫秒来操纵时间的功能。QTIME使用24小时时钟格式,它没有AM/PM的概念。与QDateTime不同的是,QTime没有时区或夏令时概念。
QTime::currentTime()获取时间为时分秒,例如:QTime::currentTime().toString("hh:mm:ss:zzz")
它可以从系统时钟中读取当前日期时间。它提供比较日期时间和操作日期时间的函数,比如加上一定数量的秒、天、月或年。和QDate相比可以设置时区属性:setTimeZone(const QTimeZone &toZone)
QDateTime::currentDateTime();//获取系统现在的时间,
例如:QDateTime::currentDateTime().toString("yyyy.MM.dd hh:mm:ss:zzz")
QDateTime转QString。
QDateTime begin_time = QDateTime::currentDateTime();//获取系统现在的时间 QString begin =begin_time .toString("yyyy.MM.dd hh:mm:ss.zzz ddd"); debug(2019.03.13 14:47:24:333 周三)
QString转QDateTime。
QString begin= "2019-03-31 12:24:36"; QDateTime begin_time = QDateTime::fromString(begin, "yyyy-MM-dd hh:mm:ss");
计算时间差:
QString begin = "2019-03-31 12:24:36"; QDateTime begin_time = QDateTime::fromString(begin, "yyyy-MM-dd hh:mm:ss"); QString end = "2019-04-01 12:24:36"; QDateTime end_time = QDateTime::fromString(end, "yyyy-MM-dd hh:mm:ss"); begin_time.secsTo(end_time)//转换为秒 86400 begin_time.daysTo(end_time)//转换为日 1 int ms = 1537537358; QDateTime dateTime = QDateTime::fromTime_t(ms); QString str = dateTime.toString("yyyy-MM-dd hh:mm:ss");
将当前时间转化为时间戳:
QDateTime begin_time = QDateTime::currentDateTime();//获取系统现在的时间 uint stime = begin_time.toTime_t();
获取时间的前一天:
QString str = "2019-03-01 12:00:01"; QDateTime begin_time = QDateTime::fromString(str, "yyyy-MM-dd hh:mm:ss"); QString str= begin_time .addDays(-1).toString("yyyy-MM-dd hh:mm:ss");//获取前一天时间
负数为之前的时间正数为之后的时间同时还有addMonths(int months)、addYears(int years)、addSecs(qint64 secs)、addMSecs(qint64 msecs) 等
到此,关于“QT时间类有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。