推荐学习: 《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;
以上就是C++如何简单输出当前日期时间的详细内容,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)