微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

推荐学习: 《c++教程

首先介绍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;

原文地址:https://www.jb51.cc/csharp/1192765.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐