【发布时间】:2013-07-04 14:24:18
【问题描述】:
使用 QDateTime::fromstring() 解析 MSVC++ 预定义的 __DATE__(可能与 __TIME__ 一起使用)宏不会返回任何内容(= 无效的 QDateTime 对象)。为什么?
【问题讨论】:
标签: c++ qt visual-c++
使用 QDateTime::fromstring() 解析 MSVC++ 预定义的 __DATE__(可能与 __TIME__ 一起使用)宏不会返回任何内容(= 无效的 QDateTime 对象)。为什么?
【问题讨论】:
标签: c++ qt visual-c++
来自http://msdn.microsoft.com/en-us/library/b0084kay%28v=vs.80%29.aspx:
DATE 当前源文件的编译日期。日期 是 Mmm dd yyyy 形式的字符串文字。月份名称 Mmm 是 与声明的库函数 asctime 生成的日期相同 在 TIME.H.
dd 部分似乎填充了第 1..9 天的前导空格。
d the day as number without a leading zero (1 to 31)
dd the day as number with a leading zero (01 to 31)
一种解决方案可能是在解析之前从__DATE__ 字符串中删除重复的空格,例如使用 QString::replace(" ", " ") 并使用单个 d 解析一天。
【讨论】:
QDateTime::fromString(QString(__DATE__).simplified(), "MMM d yyyy)。
QLocale("en_US").toDate(QString(__DATE__).simplified(), "MMM d yyyy");
【讨论】: