将 yyyy-mm-dd hh:mm:ss 转换为日和月

Convert yyyy-mm-dd hh:mm:ss to day and month

我的 qml/javascript 应用程序中有字符串格式的日期。我想将 2016-01-30 12:00:00 转换为简短明了的内容,例如 2016 年 1 月 30 日 12h。有什么办法吗?

这在 QML 中很容易做到。这是一个打印您想要的确切字符串的示例:

import QtQuick 2.2

Item {
    Component.onCompleted: {
        var date = new Date("2016-01-30 12:00:00")
        // Prints "30 Jan 2016 12h"
        console.log(Qt.formatDateTime(date, "dd MMM yyyy h'h'"))
    }
}

Date 对象只是一个标准的 JS 日期(带有一些 QML 特定的扩展)并且可以使用构造函数将许多日期字符串解析为日期。阅读 MDN documentation for Date 了解更多详情。

Qt.formatDateTime() 是一种用于格式化日期的特定于 Qt 的方法。它排除了一些不同的标准格式类型,或者您可以传递自己的格式,就像我在这里所做的那样。阅读 Qt.formateDateTime() 文档了解更多详情。您还会找到 table 可以使用的日期格式说明符。