如何从 QML 日历返回的日期中提取日、月和年?

Flo*_*ves 3 date qml qt5 qtquick2

Calendar clicked信号如下返回日期:

2015-11-13T00:00:00
Run Code Online (Sandbox Code Playgroud)

但是,我想要一个格式如下的日期:

Fri Nov 13 2015
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的:

onSelectedDateChanged: 
{
     calender.visible = false;
     selectedDate = selectedDate.toLocaleTimeString(Qt.LocalDate, Locale.ShortFormat);
     textOfSelectedDate.text = Date.fromLocaleTimeString(Qt.LocalDate, selectedDate, Locale.ShortFormat)}
}
Run Code Online (Sandbox Code Playgroud)

textOfSelectedDateid将显示此日期的文本框的 。

如何从Date返回的中以所需格式提取日、月和年Calender

Fra*_*eld 6

QML 的日期类型扩展了 Javascript 的Date。因此你可以这样做:

onSelectedDateChanged: {
    const day = selectedDate.getDate();
    const month = selectedDate.getMonth() + 1; //assuming you want 1..12, getMonth()'s return value is zero-based!
    const year = selectedDate.getFullYear();
    ...
}
Run Code Online (Sandbox Code Playgroud)


fol*_*bis 5

首先,date和JS的日期类型类似。所以你可以使用它的所有功能,比如getDate()等等。请参见这里

此外,您可以使用Qt.formatDate()对象来格式化结果。在您的情况下,它可以如下所示:

onClicked: {
    console.log(Qt.formatDate(date,"ddd MMM d yyyy")) 
}
Run Code Online (Sandbox Code Playgroud)