本文共 1365 字,大约阅读时间需要 4 分钟。
在c/c++获得日期和时间的函数很多,但是用起来比较繁琐。可以参考,若是时间有限,可忽略,继续向下看。
可以用strftime() 一个函数来实现各种日期或者时间,简单方便。
strftime() 函数根据区域设置格式化本地时间/日期,函数的功能将时间格式化,或者说格式化一个时间字符串。
我们可以使用strftime()函数将时间格式化为我们想要的格式:
%a 星期几的简写
%A 星期几的全称 %b 月份的简写 %B 月份的全称 %c 标准的日期的时间串 %C 年份的前两位数字 %d 十进制表示的每月的第几天 %D 月/天/年 %e 在两字符域中,十进制表示的每月的第几天 %F 年-月-日 %g 年份的后两位数字,使用基于周的年 %G 年份,使用基于周的年 %h 简写的月份名 %H 24小时制的小时 %I 12小时制的小时 %j 十进制表示的每年的第几天 %m 十进制表示的月份 %M 十时制表示的分钟数 %n 新行符 %p 本地的AM或PM的等价显示 %r 12小时的时间 %R 显示小时和分钟:hh:mm %S 十进制的秒数 %t 水平制表符 %T 显示时分秒:hh:mm:ss %u 每周的第几天,星期一为第一天 (值从1到7,星期一为1) %U 第年的第几周,把星期日作为第一天(值从0到53) %V 每年的第几周,使用基于周的年 %w 十进制表示的星期几(值从0到6,星期天为0) %W 每年的第几周,把星期一做为第一天(值从0到53) %x 标准的日期串 %X 标准的时间串 %y 不带世纪的十进制年份(值从0到99) %Y 带世纪部分的十制年份
strftime()用法很简单,几个例子说明下:
举例: (1)#include#include int main(){ time_t t; char p[32]; time(&t); strftime(p, sizeof(p), "%T", localtime(&t)); printf("time is %s\n", p); }
输出为:time is 20:50:16
(2)
#include#include int main(){ time_t t; char p[32]; time(&t); strftime(p, sizeof(p), "%F", localtime(&t)); printf("time is %s\n", p); }
输出为:time is 2016-06-21
(3)
#include#include int main(){ time_t t; char p[32]; time(&t); strftime(p, sizeof(p), "%F %T", localtime(&t)); printf("time is %s\n", p); }
输出为:time is 2016-06-21 20:54:11
有了这一个strftime()函数,我们就可以把日期时间的获取拿下了。
转载地址:http://psnci.baihongyu.com/