size_t
strftime(char *s
, size_t max
, const char *format
, const struct tm
*tm
);
功能:把YYYY
-MM
-DD HH
:MM
:SS格式的日期字符串转换成其它形式的字符串。
参数:
char *s:存储转换格式的首地址
size_t max:s的最大值
const char *format:格式
const struct tm
*tm:时间
它可以用以下的符号对日期和时间进行格式化:
%d 日期
, 01-31
%f 小数形式的秒,SS
.SSS
%H 小时
, 00-23
%j 算出某一天是该年的第几天,
001-366
%m 月份,
00-12
%M 分钟
, 00-59
%s 从
1970年
1月
1日到现在的秒数
%S 秒
, 00-59
%w 星期
, 0-6 (0是星期天
)
%W 算出某一天属于该年的第几周
, 01-53
%Y 年
, YYYY
%% 百分号
#include <stdio.h>
#include <sys/types.h>
#include <time.h>
#define MAX_BUFF_SIZE (1024)
int main(int argc
, const char *argv
[])
{
time_t stamp
= 0;
struct tm
* tm
= NULL;
char timeformat
[MAX_BUFF_SIZE
] = {0};
stamp
= time(NULL);
tm
= localtime(&stamp
);
strftime(timeformat
, MAX_BUFF_SIZE
, "%Y-%m-%d %H:%M:%S", tm
);
puts(timeformat
);
tm
->tm_mday
+= 1000;
mktime(tm
);
strftime(timeformat
, MAX_BUFF_SIZE
, "100 days %Y-%m-%d %H:%M:%S", tm
);
puts(timeformat
);
return 0;
}
测试结果