QDateTime::fromString()转化失败问题

简介: QDateTime::fromString()转化失败问题

前言

`

QDateTime dt = QDateTime::fromString(“Thu, 18 May 2023 05:38:45 GMT”, “ddd, dd MMM yyyy hh:mm:ss ‘GMT’”);

"Thu, 18 May 2023 05:38:45 GMT"字符串转QDateTime失败


一、解决方法

QDateTime dt = QLocale::c().toDateTime(“Thu, 18 May 2023 05:38:45 GMT”, “ddd, dd MMM yyyy hh:mm:ss ‘GMT’”);

qDebug() << dt.toString(“yyyy-MM-dd hh:mm:ss”);

亲测可用!!!

二、解释

因为如果用QDateTime::fromString来解析的话,ddd和MMM这种需要符合你系统本地locale的表达,如果你是中文系统的话Thu和May就解析不了了,所以用QLocale::c().toDateTime(“Thu, 18 May 2023 05:38:45 GMT”, “ddd, dd MMM yyyy hh:mm:ss ‘GMT’”)就可以了,QLocale::c()是最简化的英语locale,可以解析英语的星期和月份


总结

如果字符串包含英语的日期和月份转QDateTime,使用QLocale::c().toDateTime(字符串,日期时间模板字符串);


推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:

零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)

https://xxetb.xet.tech/s/VsFMs


相关文章
|
4月前
|
数据采集 数据挖掘 数据处理
数据清洗的主要步骤包括**理解数据、处理重复值、处理空缺值、处理异常值、数据标准化和数据收集
【4月更文挑战第3天】数据清洗的主要步骤包括**理解数据、处理重复值、处理空缺值、处理异常值、数据标准化和数据收集
193 2
|
28天前
|
存储
字符编码问题之mbtowc 函数中计算最终的 Unicode 值如何解决
字符编码问题之mbtowc 函数中计算最终的 Unicode 值如何解决
11 0
|
3月前
|
机器学习/深度学习 C语言
目标类型的编码规则解码原类型的编码规则
类型转换:目标类型的编码规则解码原类型的编码规则
|
4月前
|
编译器 C++
47不同类型数据间的转换
47不同类型数据间的转换
19 0
|
10月前
|
JSON 小程序 JavaScript
小程序返回的时间戳转化成时间
小程序返回的时间戳转化成时间
39 0
|
10月前
时间相关转换-验证
时间相关转换-验证
40 0
数字的转化规则?
转换规则:不管你要转的数据是什么,都是一位一位的去检测,如果第一位可以转成数字,就转,依次往后看每一位,直到碰到不能转或者转完为止,如果转不成就直接NaN
字符串的转化规则?
null和 undefined类型 ,null 转换为 “null”,undefined 转换为 “undefined”,
|
JavaScript 前端开发 算法
从规范的角度解析对象 — 原始值转换
从规范的角度解析对象 — 原始值转换
136 0
从规范的角度解析对象 — 原始值转换
|
PHP
tp自动验证流程和返回空数组的问题
tp自动验证流程和返回空数组的问题
106 0