开发者社区> 文艺小青年> 正文

c语言时间库函数#include<time.h>

简介:
+关注继续查看

日期与时间函数<time.h>

 

头文件<time.h>中说明了一些用于处理日期和时间的类型和函数。其中的一部分函数用于处理当地时间,因为时区等原因,当地时间与日历时间可能不相同。clock_t和time_t是两个用于表示时间的算术类型,而struct tm则用于存放日历时间的各个成分。tm的各个成员的用途及取值范围如下:

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

时区名字(可获得时)

%%

%本身

本文转自二郎三郎博客园博客,原文链接:http://www.cnblogs.com/haore147/p/3647579.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
js延时函数setTimeout
实现一个延时执行的效果,现记录如下: function alertV(){ alert("000"); } setTimeout(alertV,1000); //方法一 setTimeout("alertV()",5000); //方法二   关于JS的demo可以在W3CSchool在线测试工具上面进行测试 http://www.
1336 0
C语言库函数rename
函数简介   功能: 给一个文件重命名   用 法: int rename(char *oldname, char *newname);   头文件:在Visual C++6.0中用stdio.h或者io.h   说明:用该函数可以实现文件移动功能,把一个文件的完整路径的盘符改一下就实现了这个文件的移动。
844 0
C++字符串的处理-----全部用库函数,效率高
string定义: a) string s; //生成一个空字符串s string a="eholldfs";     a="dfgdfg";     cin>>a; b) string s(str)  //拷贝构造函数 生成str的复制品 c) string s(str,stridx)  //将字...
1040 0
函数计算 php runtime - 如何加载卸载内置扩展
在本文中,我们根据一个具体的问题的抛出以及解决的过程,来讲解php runtime 中怎么对 内置的扩展进行加载和卸载。
3225 0
3576
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载