• linux 获取系统时间 strftime函数格式化时间为24/12小时制


      因为项目需要啊,把时间实时输出显示,之前我是使用 strftime把时间格式化,输出的是12小制,但是项目需要按照24小时来显示,经过一番折腾,还想着用date   后面觉得, strftime能格式化为12小时制,按理说应该也可以格式化为24小时制,于是上网查了一下,果然可以格式化为24小时制

    不得不说    strftime  是一个很强大的函数

    具体实现如下

     time_t rawtime;

     struct tm* timeinfo;

    time(&rawtime);
    timeinfo=localtime(&rawtime);

    strftime(systemtime,30," %Y-%m-%d %H:%M:%S ",timeinfo);   //24小时制

    printf(" ------------------------------- ") ;
    printf("%s ", systemtime) ;
    printf("------------------------------- ") ;

    输出如下:

    重点在%H  ,%H就是格式化为24小时制,%I 格式化为12小时制

    如果按照12小时制格式化  如下

    strftime(systemtime,30," %Y-%m-%d %I:%M:%S ",timeinfo); //12小时制

    printf(" ------------------------------- ") ;
    printf("%s ", systemtime) ;
    printf("------------------------------- ") ;

     

    输出如下

    关于rteftime转换控制符,可以在linux系统中man strftime 查看各个参数的意义

    说明

    %a
    星期几的简写形式
    %A
    星期几的全称
    %b
    月份的简写形式
    %B
    月份的全称
    %c
    日期和时间
    %d
    月份中的日期,0-31
    %H
    小时,00-23
    %I
    12进制小时钟点,01-12
    %j
    年份中的日期,001-366
    %m
    年份中的月份,01-12
    %M
    分,00-59
    %p
    上午或下午
    %S
    秒,00-60
    %u
    星期几,1-7
    %w
    星期几,0-6
    %x
    当地格式的日期
    %X
    当地格式的时间
    %y
    年份中的最后两位数,00-99
    %Y

    %Z

  • 相关阅读:
    洛谷 P3521 [POI2011]ROT-Tree Rotations 解题报告
    洛谷 P1640 [SCOI2010]连续攻击游戏 解题报告
    vector-pop_back
    vector-push_back
    vector-push_back
    vector-max_size
    vector-max_size
    vector-insert
    vector-insert
    vector-front
  • 原文地址:https://www.cnblogs.com/ChenChangXiong/p/11101729.html
Copyright © 2020-2023  润新知