• C++ 简单输出当前日期时间


    根据https://www.runoob.com/cplusplus/cpp-date-time.html编写。

    首先介绍2个数据类型。

    一个是time_t与时间函数相关的变量,定义的变量记录着自 1970 年 1 月 1 日以来经过的秒数,也称作时间戳。

    另一个是结构体tm

    struct tm
    {
       int tm_sec;         // 秒,范围从 0 到 59
       int tm_min;         // 分,范围从 0 到 59
       int tm_hour;        // 小时,范围从 0 到 23
       int tm_mday;        // 一月中的第几天,范围从 1 到 31
       int tm_mon;         // 月份,范围从 0 到 11
       int tm_year;        // 自 1900 起的年数
       int tm_wday;        // 一周中的第几天,范围从 0 到 6
       int tm_yday;        // 一年中的第几天,范围从 0 到 365
       int tm_isdst;       // 夏令时
    };
    

    然后是3个与时间处理相关的函数,

    time_t time(time_t *time);
    

    一般使用time(NULL)即可,可得到当前时区的时间戳。

    struct tm *localtime(const time_t *timer);
    

    将time_t类型转换为本地时间的 tm 结构的指针。

    size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)
    

    str -- 这是指向目标数组的指针,用来复制产生的 C 字符串。

    maxsize -- 这是被复制到 str 的最大字符数。

    format -- 这是 C 字符串,包含了普通字符和特殊格式说明符的任何组合。这些格式说明符由函数替换为表示 tm 中所指定时间的相对应值。

    格式说明符:

    说明符

    含义

    实例

    %a

    缩写的星期几名称

    Sun

    %A

    完整的星期几名称

    Sunday

    %b

    缩写的月份名称

    Mar

    %B

    完整的月份名称

    March

    %c

    日期和时间表示法

    Sun Aug 19 02:56:02 2012

    %d

    一月中的第几天(01-31)

    19

    %H

    24 小时格式的小时(00-23)

    14

    %I

    12 小时格式的小时(01-12)

    05

    %j

    一年中的第几天(001-366)

    231

    %m

    十进制数表示的月份(01-12)

    08

    %M

    分(00-59)

    55

    %p

    AM 或 PM 名称

    PM

    %S

    秒(00-61)

    02

    %U

    一年中的第几周,以第一个星期日作为第一周的第一天(00-53)

    33

    %w

    十进制数表示的星期几,星期日表示为 0(0-6)

    4

    %W

    一年中的第几周,以第一个星期一作为第一周的第一天(00-53)

    34

    %x

    日期表示法

    08/19/12

    %X

    时间表示法

    02:50:06

    %y

    年份,最后两个数字(00-99)

    01

    %Y

    年份

    2012

    %Z

    时区的名称或缩写

    CDT

    %%

    一个 % 符号

    %

    4行代码实现在屏幕输出当前时间:

    char str[50];
    time_t now = time(NULL);
    strftime(str, 50, "%x %X", localtime(&now));
    cout << str << endl;
    
  • 相关阅读:
    AD域新建用户
    Windows程序设计(1)
    C++ 进阶 模板和STL
    C++ 基于多态的职工管理系统
    C++核心编程
    C++入门-控制台版的通讯录管理系统
    第一章、熟悉工作环境和相关工具
    Spring整合JDBC temple
    SpringMVC整合mybaitis
    实验12 添加0号中断处理程序
  • 原文地址:https://www.cnblogs.com/NiGhT-Ray/p/13128404.html
Copyright © 2020-2023  润新知