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
中提取所需格式的日,月和年?
答案 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"))
}