将 ISO::DateTime 转换为数字格式
Posted
技术标签:
【中文标题】将 ISO::DateTime 转换为数字格式【英文标题】:Converting ISO::DateTime to number format 【发布时间】:2019-02-28 05:27:10 【问题描述】:我只想将日期时间格式更改为数字,以便它可以递增。
当前实现保存为QString 2019-03-13T09:01:22+01:0
预期结果:201903120858031
【问题讨论】:
【参考方案1】:qt 是一个非常强大的框架,你只是在以错误的方式编写解决方案。
想象一下验证日期、闰年等后的痛苦
每个日期和日期时间都有进行日历数学运算的方法。
将此示例视为参考:
//
QDateTime dateOrigin = QDateTime::currentDateTime();
QDateTime ReturnDate = QDateTime::currentDateTime();
QString isoDatedateOrigin.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
【讨论】:
其实要求是按照我在问题中写的数字格式显示时间。 完美,tnxs 澄清,请参阅我的更新以上是关于将 ISO::DateTime 转换为数字格式的主要内容,如果未能解决你的问题,请参考以下文章