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

时间:2015-11-06 08:29:04

标签: date qml qt5 qtquick2

Calendar clicked信号返回如下日期:

2015-11-13T00:00:00

但是,我希望有一个这样的日期:

Fri Nov 13 2015

这就是我的尝试:

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

textOfSelectedDate是显示此日期的文本框的id

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

2 个答案:

答案 0 :(得分:4)

QML' date类型扩展了Javascript' s 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();
    ...
}

答案 1 :(得分:2)

首先,date类似于JS日期类型。因此,您可以使用其所有功能,例如getDate()等。请参阅here

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

onClicked: {
    console.log(Qt.formatDate(date,"ddd MMM d yyyy")) 
}