百度已收录

1 问题

访问网络数据时候获取到的日期格式为dd-MM-yyyy,于是尝试通过QDateTime::fromString()完成,发现不同时间日期可能会转换失败
成功代码:

QDateTime::fromString("03-09-2023 19:33:41", "dd-MM-yyyy HH:mm:ss").toString("yyyy-MM-dd HH:mm:ss");

输出:

"2023-09-03 19:33:41"

失败代码:

QDateTime::fromString("03-13-2023 19:30:47", "dd-MM-yyyy HH:mm:ss").toString("yyyy-MM-dd HH:mm:ss");

输出:

""

2 解决方案

换用split函数来分割后重新拼接

QString dateFormat(QString source)
{
    QList<QString> list = source.split("-");
    if (list.count() == 3)
    {
        return list[2] + "-" + list[1] + "-" + list[0];
    }
    return QString();
}