我用下面的JavaScript代码将当前日期格式化为字符串:
const date = new Date();
const options = { weekday: 'short', hour: 'numeric', minute: 'numeric' };
return date.toLocaleString('en-GB', options);
这应该返回Wed 12:39-当它在web浏览器中执行时也是如此。
然而,在Qt的JavaScript引擎中,这返回一个不同于预期的值,4/5/23 12:39 PM,其中包括日期而不是工作日,并且使用12小时而不是24小时时间。
我如何使Qt格式的日期正确?
虽然Qt/JS的所有领域都与行业JavaScript保持一致,但差距正在缩小。因为你是在Qt中,你有利用的优势,可能,更丰富的Qt.formatDateTime
方法,例如
import QtQuick
import QtQuick.Controls
Page {
Label {
anchors.centerIn: parent
background: Rectangle {
anchors.fill: parent
anchors.margins: -10
radius: 10
color: "lightsteelblue"
z: -2
}
text: fn()
}
function fn() {
const date = new Date();
return Qt.formatDateTime(date, "ddd hh:mm AP"); // e.g. Thu 07:08 AM
}
}
"hh"
可以是24小时或12小时显示。由于"AP"
的存在,它强制12小时显示以及附加的AM/PM。
你可以在网上试试!
引用:
- https://doc.qt.io/qt-6/qml-qtqml-qt.html formatDateTime-method