QDateTime和QString互转、QDateTime转化时间戳、QDateTime支持的字符串格式
1.QDateTime转QString:
可以使用QDateTime的toString()函数将QDateTime对象转换成指定格式的字符串。例如,要将QDateTime对象转换成“yyyy-MM-dd HH:mm:ss”格式的字符串,可以使用如下代码:
-
QDateTime datetime = QDateTime::currentDateTime();
-
QString str = datetime.toString("yyyy-MM-dd HH:mm:ss");
2.QString转QDateTime:
可以使用QDateTime的fromString()函数将字符串转换成QDateTime对象。例如,要将字符串“2021-09-01 12:00:00”转换成QDateTime对象,可以使用如下代码:
-
QString str = "2021-09-01 12:00:00";
-
QDateTime datetime = QDateTime::fromString(str, "yyyy-MM-dd HH:mm:ss");
需要注意的是,fromString()函数的第二个参数是指定字符串格式的。如果字符串格式不正确,将无法成功转换,因此应该根据实际情况正确指定格式。
3.将QDateTime对象转换为以秒为单位的时间戳:
-
QDateTime datetime = QDateTime::currentDateTime();
-
qint64 timestamp = datetime.toSecsSinceEpoch();
4.将QDateTime对象转换为以毫秒为单位的时间戳:
-
QDateTime datetime = QDateTime::currentDateTime();
-
qint64 timestamp = datetime.toMSecsSinceEpoch();
需要注意的是,转换为时间戳时需要使用 qint64 类型的变量来存储结果,因为时间戳可能会超过 int 类型的上限。
5.下面列举了一些常用的 QDateTime 字符串格式:
- Qt::TextDate:YYYY-MM-DD 格式的日期字符串,例如 2021-05-15。
- Qt::ISODate:使用 ISO 8601 格式表示日期时间,例如 2021-05-15T17:18:23,其中 T 表示时间分隔符。
- Qt::ISODateWithMs:类似 ISO 8601 格式,但包含毫秒部分,例如 2021-05-15T17:18:23.127。
- Qt::RFC2822Date:使用邮件格式表示日期时间,例如 Sat, 15 May 2021 17:18:23 0800。
- “ddd MMM dd yyyy hh:mm:ss”:自定义格式字符串,其中 ddd 表示星期几的缩写,MMM 表示月份的缩写,例如 Sat May 15 2021 17:18:23。
这些格式可以通过 QDateTime 的 toString() 函数进行转换,例如:
-
#include <QDateTime>
-
#include <QDebug>
-
-
int main()
-
{
-
QDateTime dt = QDateTime::currentDateTime();
-
-
qDebug() << dt.toString(Qt::TextDate); // 输出: "2021-05-15"
-
qDebug() << dt.toString(Qt::ISODate); // 输出: "2021-05-15T17:18:23"
-
qDebug() << dt.toString(Qt::ISODateWithMs); // 输出: "2021-05-15T17:18:23.127"
-
qDebug() << dt.toString(Qt::RFC2822Date); // 输出: "Sat, 15 May 2021 17:18:23 0800"
-
qDebug() << dt.toString("ddd MMM dd yyyy hh:mm:ss"); // 输出: "Sat May 15 2021 17:18:23"
-
-
return 0;
-
}
需要注意的是,不同的字符串格式具有不同的精度和表现形式,具体选择哪种格式取决于具体的需求。在使用自定义格式字符串时,还可以使用一些格式化映射符号(如 yy 表示年份的后两位,MM 表示月份的数字,等等),从而完成更加精细的格式化操作。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbjicf
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13