QString转QDateTime 及注意事项
QDateTime fromString(const QString &s, Qt::DateFormat f = Qt::TextDate);
QDateTime fromString(const QString &s, const QString &format);
使用参数f指定的格式根据参数s指定的时间返回一个时间对象。如果s指定的时间不合法,则返回一个无效的时间对象。
参数f可选值:
Qt::TextDate:格式为HH:MM:SS
Qt::ISODate:遵循ISO8601的时间表示格式,同样也为HH:MM:SS
Qt::LocalDate:字符串格式依赖系统本地设置
参数format可自定义
//time1会显示 invalid 数据无效,未设定格式
QDateTime time1 = QDateTime::fromString("2000-01-01 00:00:00");
//time2会显示 invalid 数据无效,未根据设定的格式,设置日期
QDateTime time2 = QDateTime::fromString("2000-1-1 00:00:00","yyyy-MM-dd hh:mm:ss");
//根据自定义的格式判断出日期时间
QDateTime time3 = QDateTime::fromString("2000-01-01 00:00:00","yyyy-MM-dd hh:mm:ss");
计算两个日期时间差 分钟 秒
QDateTime time1 = QDateTime::fromString("2021-11-11 20:02:00","yyyy-MM-dd hh:mm:ss");
QDateTime time2 = QDateTime::fromString("2021-11-11 20:03:00","yyyy-MM-dd hh:mm:ss");
int second = time1.secsTo(time2); // 60
int minute = time1.secsTo(time2)/60; // 1