首页 > 代码库 > 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

当地格式的日期