如何使用Qt格式字符串输出Unix时间?
Qt格式字符串输出Unix时间戳的解决方案
如果你需要通过Qt格式字符串输出Unix时间(即从1970年1月1日UTC至今的秒数),其实Qt的日期时间格式体系里已经有现成的格式符可以直接满足需求:
- 要输出秒级Unix时间戳,使用格式字符串
%s - 要输出毫秒级Unix时间戳,使用格式字符串
%Q
举个实际使用的代码示例,假设你是通过QDateTime的toString()这类需要传入格式字符串的API:
// 获取当前UTC时间的秒级Unix时间戳字符串 QString unixSecStr = QDateTime::currentDateTimeUtc().toString("%s"); // 获取当前UTC时间的毫秒级Unix时间戳字符串 QString unixMsStr = QDateTime::currentDateTimeUtc().toString("%Q");
需要注意的是,%s和%Q在Qt 5.10及以上版本都能正常使用,如果你的项目基于更早的Qt版本,可能需要额外处理,但目前大多数项目都会采用较新的Qt版本,这个方案应该能直接生效。
内容的提问来源于stack exchange,提问作者SoniEx2
相关产品推荐
相关产品推荐

