C++ C++;为buildtime获取QDateTime的可靠方法
关于C++ C++;为buildtime获取QDateTime的可靠方法,c++,qt,datetime,qdatetime,C++,Qt,Datetime,Qdatetime,关于\uuuu日期\uuuuu 我想使用\uuuu DATE\uuuu来获取构建时间。 该产品将在具有不同语言环境的系统上编译。 \uuuu日期\uuuu的格式是否始终相同? 我的目标是从\uuuu DATE\uuuu获取构建时间,我希望确保它在任何系统上都能工作。 目前我使用: QDateTime(QLocale("en_US").toDate(QString(__DATE__).simplified(), "MMM d yyyy")).toMSecsS
\uuuu日期\uuuuu
我想使用\uuuu DATE\uuuu
来获取构建时间。
该产品将在具有不同语言环境的系统上编译。
\uuuu日期\uuuu
的格式是否始终相同?
我的目标是从\uuuu DATE\uuuu
获取构建时间,我希望确保它在任何系统上都能工作。
目前我使用:
QDateTime(QLocale("en_US").toDate(QString(__DATE__).simplified(), "MMM d yyyy")).toMSecsSinceEpoch();
获取构建时间的日期时间。
但是,在这种情况下是否可能不起作用,例如,\uuu DATE\uuuu
是否可能不返回2020年7月14日
,而是以本地格式(如中文)返回?
如果最后一种情况是过时的方法将不能正常工作? < P>从C++标准(草案):
\uuuuu日期
源文件的翻译日期:字符串文字
格式为“Mmm dd yyyy”,其中月份名称相同
由asctime
函数生成的,以及
dd
如果值小于10,则为空格字符。如果
翻译不可用,实现定义了有效日期
应提供
最后一句话给了编译器一些自由,如果日期不可用该怎么办GCC这样做:
如果GCC无法确定当前日期,它将发出警告
消息(每次编译一次)和日期将扩展到“??”
总结-格式是固定的,它始终是代码>“MMM DD YYY”< /代码>,使用英文名称。
< P>从C++标准(草案):
\uuuuu日期
源文件的翻译日期:字符串文字
格式为“Mmm dd yyyy”
,其中月份名称相同
由asctime
函数生成的,以及
dd
如果值小于10,则为空格字符。如果
翻译不可用,实现定义了有效日期
应提供
最后一句话给了编译器一些自由,如果日期不可用该怎么办GCC这样做:
如果GCC无法确定当前日期,它将发出警告
消息(每次编译一次)和日期将扩展到“??”
总而言之,格式是固定的,始终是“Mmm dd yyy”
,使用英语名称。谢谢,但是如果地区不是英语,Mmm不会根据地区给出月份,。所以不是七月七月 如果地点是中文?还是总是用英语asctime
返回三个字母的英文缩写月份名称。总是有人会创建自己的编译器,在那里返回的名字将在另一种语言(如中文),但它不再是标准的C++。谢谢,但是如果区域不是英语,那么,MMM给出基于区域的月份。所以不是七月七月 如果地点是中文?还是总是用英语asctime
返回三个字母的英文缩写月份名称。总有人会创造一个他或她自己的编译器,在那里返回的名字将在另一种语言(像中文),但它不是一个标准的C++。