如何使用 fromLocaleString() 函数将字符串转换为日期类型?
How to convert String to date type using fromLocaleString() function?
我需要将在两个随行杯上选择的时间转换为 date
QML 类型。我希望通过函数 alarm_time()
.
返回结果 date
我正在使用 Date.fromLocaleString(locale, dateTimeString, format)
函数进行转换。根据 Qt Documentation,不必指定 locale
参数。
这里是简化代码:
Frame {
function format_number(number) {
return number < 10 && number >= 0 ? "0" + number : number.toString()
}
function alarm_time() {
return Date.fromLocaleString(
format_number(hours_tumbler.currentIndex) + ":" + format_number(minutes_tumbler.currentIndex), "hh:mm")
}
RowLayout {
Tumbler {
id: hours_tumbler
model: 24
}
Tumbler {
id: minutes_tumbler
model: 60
}
}
}
现在,调用该函数时,出现以下错误:
Error: Locale: Date.fromLocaleString(): Invalid arguments
错误不言自明...
后来我尝试根据Qt Documentation中的说明指定locale
参数。代码现在看起来像这样:
Frame {
function format_number(number) {
return number < 10 && number >= 0 ? "0" + number : number.toString()
}
property var locale: Qt.locale() // Here is something new...
function alarm_time() {
return Date.fromLocaleString(locale, // ...and here.
format_number(hours_tumbler.currentIndex) + ":" + format_number(minutes_tumbler.currentIndex), "hh:mm")
}
RowLayout {
Tumbler {
id: hours_tumbler
model: 24
}
Tumbler {
id: minutes_tumbler
model: 60
}
}
}
现在错误信息不同了:
Cannot override FINAL property
现在我卡住了,我真的想不出解决这个问题的方法。请帮忙!
您正在覆盖 Frame
的现有 locale
属性(它来自 Control
)。简单地为它起一个不同的名字:
property var myLocale: Qt.locale()
我需要将在两个随行杯上选择的时间转换为 date
QML 类型。我希望通过函数 alarm_time()
.
date
我正在使用 Date.fromLocaleString(locale, dateTimeString, format)
函数进行转换。根据 Qt Documentation,不必指定 locale
参数。
这里是简化代码:
Frame {
function format_number(number) {
return number < 10 && number >= 0 ? "0" + number : number.toString()
}
function alarm_time() {
return Date.fromLocaleString(
format_number(hours_tumbler.currentIndex) + ":" + format_number(minutes_tumbler.currentIndex), "hh:mm")
}
RowLayout {
Tumbler {
id: hours_tumbler
model: 24
}
Tumbler {
id: minutes_tumbler
model: 60
}
}
}
现在,调用该函数时,出现以下错误:
Error: Locale: Date.fromLocaleString(): Invalid arguments
错误不言自明...
后来我尝试根据Qt Documentation中的说明指定locale
参数。代码现在看起来像这样:
Frame {
function format_number(number) {
return number < 10 && number >= 0 ? "0" + number : number.toString()
}
property var locale: Qt.locale() // Here is something new...
function alarm_time() {
return Date.fromLocaleString(locale, // ...and here.
format_number(hours_tumbler.currentIndex) + ":" + format_number(minutes_tumbler.currentIndex), "hh:mm")
}
RowLayout {
Tumbler {
id: hours_tumbler
model: 24
}
Tumbler {
id: minutes_tumbler
model: 60
}
}
}
现在错误信息不同了:
Cannot override FINAL property
现在我卡住了,我真的想不出解决这个问题的方法。请帮忙!
您正在覆盖 Frame
的现有 locale
属性(它来自 Control
)。简单地为它起一个不同的名字:
property var myLocale: Qt.locale()