首页 > 代码库 > strptime和strptime函数理解
strptime和strptime函数理解
#include <stdio.h>
#include <time.h>
int main() {
struct tm tm;
char buf[255];
strptime("2001-11-12 18:31:01", "%Y-%m-%d %H:%M:%S", &tm);
strftime(buf, sizeof(buf), "%d %b %Y %H:%M", &tm);
puts(buf);
return 0;
}
这两个函数都是时间日期的格式控制函数,在功能上看起来正好相反。
size_t strftime(char *s,size_t maxsize,char *format,const struct tm *timeptr)
作用:strftime将一个tm结构格式化为一个字符串
参数:format为输出数据格式
char *strptime(const char *buf,const char *format,struct tm *timeptr)
作用:strptime则是将一个字符串格式化为一个tm结构。
参数:buf为要修改的时间,一般为GPS时间
Format为数据格式,与buf时间格式必须一致,要不然会有段错误
%a | 星期几的简写形式 |
%A | 星期几的全称 |
%b | 月份的简写形式 |
%B | 月份的全称 |
%c | 日期和时间 |
%d | 月份中的日期,0-31 |
%H | 小时,00-23 |
%I | 12进制小时钟点,01-12 |
%j | 年份中的日期,001-366 |
%m | 年份中的月份,01-12 |
%M | 分,00-59 |
%p | 上午或下午 |
%S | 秒,00-60 |
%u | 星期几,1-7 |
%w | 星期几,0-6 |
%x | 当地格式的日期 |