zoukankan      html  css  js  c++  java
  • 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;
    
  • 相关阅读:
    [转载] <深入理解.NET> 导读
    32bit Assembler is Easy, why and how to develop using the assembler; start learning to program in Assembly now!
    一致代码段,非一致代码段
    Data Mining、Data Warehousing、OLAP三者关系 [收藏]
    对比Windows和Linux两系统的动态库
    Win32汇编开发环境介绍和RadAsm简明教程
    How to make a 32 bit protected mode boot sector.
    龙芯CPU 参数
    并发编程第一章简单介绍和环境准备
    并发编程第三章线程创建、原理、常用线程方法
  • 原文地址:https://www.cnblogs.com/NiGhT-Ray/p/13128404.html
Copyright © 2011-2022 走看看