You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++时间格式化问题:生成12小时制时间并添加指定后缀

修正C++本地时间格式化输出问题

问题原因

你的代码使用了%H格式符,它代表24小时制的小时数(00-23),不符合你需要的12小时制输出要求;同时格式字符串缺少末尾的_3后缀。

修改后的代码

#include <sys/time.h>
#include <cstdio>
#include <ctime>
#include <cstdlib>

int main() {
    std::time_t rawtime;
    std::tm* timeinfo;
    char buffer [80];
    std::time(&rawtime);
    timeinfo = std::localtime(&rawtime);
    // 调整格式:改用12小时制%I,追加_3后缀
    std::strftime(buffer, 80, "%d%m%Y_%I%M_bishan_3", timeinfo);
    printf("%s\n", buffer);
    return 0;
}

关键修改点

  • 将格式符%H替换为%I:%I是12小时制的小时表示(范围01-12),对应上午11点会输出11
  • 在格式字符串的末尾添加_3,匹配你需要的输出格式
  • 补充main函数与打印语句,让代码可以直接编译运行验证结果

内容的提问来源于stack exchange,提问作者batuman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 01:42:33