c语⾔时间库函数#includetime.h
⽇期与时间函数<time.h>
头⽂件<time.h>中说明了⼀些⽤于处理⽇期和时间的类型和函数。其中的⼀部分函数⽤于处理当地时间,因为时区等原因,当地时间与⽇历时间可能不相同。clock_t和time_t是两个⽤于表⽰时间的算术类型,⽽struct tm则⽤于存放⽇历时间的各个成分。tm的各个成员的⽤途及取值范围如下:c语言库函数
int tm_sec; /* 秒,0~61 */
int tm_min; /* 分,0~59 */
int tm_hour; /* 时,0~23 */
int tm_mday; /* ⽇,1~31 */
int tm_mon; /* ⽉(从1⽉开始),0~11 */
int tm_year; /* 年(从1900年开始) */
int tm_wday; /* 星期(从周⽇开始),0~6 */
int tm_yday; /* 天数(从1⽉1⽇开始),0~365 */
int tm_isdst; /* 夏令时标记 */
其中,tm_isdst在使⽤夏令时时其值为正,在不使⽤夏令时时其值为0,如果该信息不能使⽤,其值为负。
1 clock
#include <time.h>
clock_t clock(void);
返回程序⾃开始执⾏到⽬前为⽌所占⽤的处理机时间。如果处理机时间不可使⽤,那么返回-1。clock()/CLOCKS_PER_SEC是以秒为单位表⽰的时间。
2 time
#include <time.h>
time_t time(time_t *tp);
返回当前⽇历时间。如果⽇历时间不能使⽤,则返回-1。如果tp不为NULL,那么同时把返回值赋给*tp。
3 difftime
#include <time.h>
double difftime(time_t time2, time_t time1);
返回time2-time1的值(以秒为单位)。
4 mktime
#include <time.h>
time_t mktime(struct tm *tp);
将结构*tp中的当地时间转换为time_t类型的⽇历时间,并返回该时间。如果不能转换,则返回-1。
5 asctime
#include <time.h>
char *asctime(const struct tm *tp);
将结构*tp中的时间转换成如下所⽰的字符串形式:
day month date hours:minutes:seconds year\n\0
如:
Fri Apr 15 15:14:13 2005\n\0
返回指向该字符串的指针。字符串存储在可被其他调⽤重写的静态对象中。
6 ctime
#include <time.h>
char *ctime(const time_t *tp);
将*tp中的⽇历时间转换为当地时间的字符串,并返回指向该字符串指针。字符串存储在可被其他调⽤重写的静态对象中。等价于如下调⽤:asctime(localtime(tp));
7 gmtime
#include <time.h>
struct tm *gmtime(const time_t *tp);
将*tp中的⽇历时间转换成struct tm结构形式的国际标准时间(UTC),并返回指向该结构的指针。如果转换失败,返回NULL。结构内容存储在可被其他调⽤重写的静态对象中。
8 localtime
#include <time.h>
struct tm *localtime(const time_t *tp);
将*tp中的⽇历时间转换成struct tm结构形式的本地时间,并返回指向该结构的指针。结构内容存储在可被其他调⽤重写的静态对象中。
9 strftime
#include <time.h>
size_t strftime(char *s, size_t smax, const char *fmt, const struct tm *tp);
根据fmt的格式说明把结构*tp中的⽇期与时间信息转换成指定的格式,并存储到s所指向的数组中,写到s中的字符数不能多于smax。函数返回实际写到s中的字符数(不包括'\0');如果产⽣的字符数多于smax,则返回0。
fmt类似于printf()中的格式说明,它由0个或多个转换规格说明与普通字符组成。普通字符原封不动的拷贝到s中,每个%c按照下⾯所描述的格式⽤与当地环境相适应的值来替换。转换规格列表如下:
格式说明
%a⼀星期中各天的缩写名
%A⼀星期中各天的全名
%b缩写⽉份名
%B⽉份全名
%c当地时间和⽇期表⽰
%d⽤整数表⽰的⼀个⽉中的第⼏天(01~31)
%H⽤整数表⽰的时(24⼩时制,00~23)
%I⽤整数表⽰的时(12⼩时制,01~12)
%j⽤整数表⽰的⼀年中各天(001~366)
%m⽤整数表⽰的⽉份(01~12)
%M⽤整数表⽰的分(00~59)
%p与AM/PM对应的当地表⽰⽅法
%S⽤整数表⽰的秒(00~61)
%U⽤整数表⽰⼀年中的星期数(00~53,将星期⽇看作为每周的第⼀天) %w⽤整数表⽰⼀周中的各天(0~6,星期⽇为0)
%W⽤整数表⽰⼀年中的星期数(00~53,将星期⼀看作为每周的第⼀天) %x当地⽇期表⽰
%X当地时间表⽰
%y不带公元的年(00~99)
%Y完整年份表⽰
%Z时区名字(可获得时)
%%%本⾝

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。