如何在 QML 中从 QString 格式化日期

Posted

技术标签:

【中文标题】如何在 QML 中从 QString 格式化日期【英文标题】:How to format Date from QString in QML 【发布时间】:2019-01-31 17:57:47 【问题描述】:

我正在使用 QML 日历并想设置 maximumDate 和 minimumDate 的属性。

根据文档

默认情况下,此属性设置为最新的最大日期(公元 275759 年 10 月 25 日)

所以我创建了一个 API,它以字符串格式“2018 年 10 月 25 日”向我返回这个日期

当我尝试设置时

 maximumDate = "25 October, 2018 AD"

QML 给我一个错误,我无法将 QString 分配给 QDateTime

我的问题是如何将此字符串格式化为日期以便 maximumDate 接受它。我希望只在 QML 中做到这一点

【问题讨论】:

【参考方案1】:

字符串和QDate 之间没有隐式转换,但是对于QDate 和qml 的Date 有一个双向工作。

但是,日期似乎不适用于您尝试使用的格式。我认为您将所述日期值混淆为文字值,而实际上它只是人类可读的日期。

所以,你应该试试这个:

maximumDate = Date.fromLocaleString(Qt.locale(), "2018-10-25", "yyyy-mm-dd")

【讨论】:

以上是关于如何在 QML 中从 QString 格式化日期的主要内容,如果未能解决你的问题,请参考以下文章