Linux编程时获取当前时间实例解析(3)

size_t strftime(char *str,size_t max,char *fmt,struct tm *tp);
strftime有点像sprintf,其格式由fmt来指定。

%a : 本第几天名称,缩写。
%A : 本第几天名称,全称。
%b : 月份名称,缩写。
%B : 月份名称,全称。
%c : 与ctime/asctime格式相同。
%d : 本月第几日名称,由零算起。
%H : 当天第几个小时,24小时制,由零算起。
%I : 当天第几个小时,12小时制,由零算起。
%j : 当年第几天,由零算起。
%m : 当年第几月,由零算起。
%M : 该小时的第几分,由零算起。
%p : AM或PM。
%S : 该分钟的第几秒,由零算起。
%U : 当年第几,由第一个日开始计算。
%W : 当年第几,由第一个一开始计算。
%w : 当第几日,由零算起。
%x : 当地日期。
%X : 当地时间。
%y : 两位数的年份。
%Y : 四位数的年份。
%Z : 时区名称的缩写。
%% : %符号。

char * strptime(char *s,char *fmt,struct tm *tp);
如同scanf一样,解译字串成为tm格式。

%h : 与%b及%B同。
%c : 读取%x及%X格式。
%C : 读取%C格式。
%e : 与%d同。
%D : 读取%m/%d/%y格式。
%k : 与%H同。
%l : 与%I同。
%r : 读取"%I:%M:%S %p"格式。
%R : 读取"%H:%M"格式。
%T : 读取"%H:%M:%S"格式。
%y : 读取两位数年份。
%Y : 读取四位数年份。

下面举一个小例子,说明如何获得系统当前时间:
time_t now;
struct tm *timenow;
char strtemp[255];

time(&now);
timenow = localtime(&now);
printf("recent time is : %s \n", asctime(timenow));

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzypxj.html