在 QML 中将日期字符串转换为日期()

4
我需要将日期字符串"28/01/2018" (dd/mm/yyyy) 转换成 QML 中的 Date()。
我尝试了以下代码:
  var dateBoard = masterPAGEMAIN.getData();

  var locale = Qt.locale()

  var someDateTest = new Date()
  someDateTest = Date.fromLocaleString(locale, dateBoard, "dd/MM/yyyy");
  var test = someDateTest.getDate().toString();

我看到了这个链接:将字符串转换为日期,但我的问题是我一直收到“NaN”或“Invalid Date”,在qml中如何从字符串获取Date()呢?
谢谢。

这个语法看起来是 JavaScript 和 QML 的结合? - Mohammad Kanan
@MohammadKanan 是的,它就像JavaScript一样。 - Mr. Developer
请仔细阅读 Qt 文档页面。没有'gg'表达式。可能您想使用'dd'代替。 - folibis
我写错了,但问题还没有解决。 - Mr. Developer
1个回答

5

fromLocaleString方法的参数必须符合预期格式。可以尝试以下代码:

var dateBoard = "01/31/2018"
var someDateTest = Date.fromLocaleString(Qt.locale(), dateBoard, "dd/MM/yyyy")
var test = someDateTest.getDate() //nan

dateBoard中的字符串表示一个MM/dd/yyyy格式的日期,所以fromLocaleString会返回一个无效的日期,getDate也会相应地返回nan
如果dateBoard是空字符串、null或未定义,则同样适用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接