4

Parsing the MSVC++ predefined __DATE__ (maybe in conjunction with __TIME__) macro with QDateTime::fromstring() returns nothing (= an invalid QDateTime object). Why?

4

2 回答 2

4

来自http://msdn.microsoft.com/en-us/library/b0084kay%28v=vs.80%29.aspx

DATE 当前源文件的编译日期。日期是 Mmm dd yyyy 形式的字符串文字。月份名称 Mmm 与 TIME.H 中声明的库函数 asctime 生成的日期相同。

dd部分似乎填充了第 1..9 天的前导空格。

QtDateTime::fromstring()仅支持

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.

于 2013-07-04T14:24:18.470 回答
3
QLocale("en_US").toDate(QString(__DATE__).simplified(), "MMM d yyyy");                       
于 2014-09-23T15:13:51.553 回答