如何在 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 格式化日期的主要内容,如果未能解决你的问题,请参考以下文章

将 QMultiMap<QString, QString> 导出到 QML

如何在数据表中从 '2021-01-09T00:00:00' LIKE 2021-01-09 转换日期时间格式

PyQt5 + QML:带有“无法将[未定义]分配给QString”的空窗口

如何通过级联QML在blackberry 10设备文档目录中创建XML文件?

在 oracle 中从日期格式转换为日期格式

在 C++ 中从 QML 读取值