【发布时间】:2019-02-28 05:27:10
【问题描述】:
我只想将日期时间格式更改为数字,以便它可以递增。
当前实现保存为QString 2019-03-13T09:01:22+01:0
预期结果:201903120858031
【问题讨论】:
标签: qt c++11 datetime-format
我只想将日期时间格式更改为数字,以便它可以递增。
当前实现保存为QString 2019-03-13T09:01:22+01:0
预期结果:201903120858031
【问题讨论】:
标签: qt c++11 datetime-format
qt 是一个非常强大的框架,你只是在以错误的方式编写解决方案。
想象一下验证日期、闰年等后的痛苦
每个日期和日期时间都有进行日历数学运算的方法。
将此示例视为参考:
//
QDateTime dateOrigin = QDateTime::currentDateTime();
QDateTime ReturnDate = QDateTime::currentDateTime();
QString isoDate{dateOrigin.toString(Qt::ISODate)};
qDebug() << "before: " << isoDate;
ReturnDate = dateOrigin.addDays(1);
ReturnDate = dateOrigin.addMonths(1);
ReturnDate = dateOrigin.addYears(1);
qDebug() << "after: " << ReturnDate.toString(Qt::ISODate);
//
更新: 假设 201903120858031 是格式为 yyyyMMddHHmmss 的日期时间,那么您可以将其转换为 long
//201903120858031
//yyyyMMddHHmmss
qDebug() << "after: " << ReturnDate.toString("yyyyMMddHHmmss");
qDebug() << "after as long number: " << ReturnDate.toString("yyyyMMddHHmmss").toLong();
产生输出:
之前:“2019-02-28T12:43:33”
之后:“20200228124333”
编号后:20200228124333
【讨论】: