将 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 转换为数字格式的主要内容,如果未能解决你的问题,请参考以下文章

AD和DA的工作原理是啥?作用是啥?谢谢!

如何将两个数组值转换为 JSON 格式

AD和DA转换是啥意思

C#如何将带有感叹号图标注释的文本格式的数字转换为数字格式的数字?

如何把文本转化为数字

如何将十进制格式转换为数字格式