我想将日期时间格式仅更改为数字,以便可以递增。
当前实施保存为QString 2019-03-13T09:01:22+01:0
预期结果: 201903120858031
答案 0 :(得分:1)
qt是一个非常强大的框架,您只是在以错误的方式编码解决方案。
想像一下验证日期,leap年等等时背部的痛苦
每个date和dateTime都有执行日历数学运算的方法。
请参见以下示例作为参考:
//
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 ,那么您可以将其转换为长日期
//201903120858031
//yyyyMMddHHmmss
qDebug() << "after: " << ReturnDate.toString("yyyyMMddHHmmss");
qDebug() << "after as long number: " << ReturnDate.toString("yyyyMMddHHmmss").toLong();
产生输出:
之前:“ 2019-02-28T12:43:33”
后:“ 20200228124333”
后为号码:20200228124333