日期与时间函数<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

时区名字(可获得时)

%%

%本身

c语言时间库函数#include<time.h>的更多相关文章

  1. c语言实用功能库函数#include<stdlib.h>

    实用函数<stdlib.h> 在头文件<stdlib.h>中说明了用于数值转换.内存分配以及具有其他相似任务的函数. 1 atof #include <stdlib.h& ...

  2. c语言字符串库函数#include<string.h>

    字符串函数<string.h> 在头文件<string.h>中定义了两组字符串函数.第一组函数的名字以str开头:第二组函数的名字以mem开头.只有函数memmove对重叠对象 ...

  3. c语言字符类别测试库函数#include<ctype.h>

    字符类测试<ctype.h> 头文件<ctype.h>中说明了一些用于测试字符的函数.每个函数的变量均为int类型,变量的值必须是EOF或可用unsigned char类型表示 ...

  4. c语言输入与输出库函数#include<stdio.h>

    last modified: 2010-05-28 输入与输出<stdio.h> 头文件<stdio.h>定义了用于输入和输出的函数.类型和宏.最重要的类型是用于声明文件指针的 ...

  5. c语言诊断_断言库函数#include<assert.h>

    诊断<assert.h>  assert #include <assert.h> void assert(int exp); assert宏用于为程序增加诊断功能.当asser ...

  6. C语言头文件#include<stdlib.h>的作用

      stdlib 头文件即standard library标准库头文件 stdlib 头文件里包含了C.C++语言的最常用的系统函数 该文件包含了的C语言标准库函数的定义 stdlib.h里面定义了五 ...

  7. C 语言 时间函数使用技巧(汇总)

    time.h 头文件 是 C 语言中 有关 时间的函数所储存的头文件 #include <time.h> 在介绍时间函数用法之前,我们首先要了解在 time.h 头文件中已经声明了的一个结 ...

  8. c程序设计语言_习题8-4_重新实现c语言的库函数fseek(FILE*fp,longoffset,intorigin)

      fseek库函数 #include <stdio.h> int fseek(FILE *stream, long int offset, int origin); 返回:成功为0,出错 ...

  9. #include<unistd.h>存在linux中,含有系统服务的函数

    #include<unistd.h> linux标准库#include <unistd.h>与windows的#include <windows.h>(C语言开发) ...

随机推荐

  1. C语言中的%0nd,%nd,%-nd

    C语言中的%0nd printf --> formatted print/格式化输出 一.十进制 d -> decimal/十(shí)进制 int a=1; int b=1234; do ...

  2. 九度OJ 1501 最大连续子序列乘积 -- 动态规划

    题目地址:http://ac.jobdu.com/problem.php?pid=1501 题目描述: 给定一个浮点数序列(可能有正数.0和负数),求出一个最大的连续子序列乘积. 输入: 输入可能包含 ...

  3. POJ 1170 Shopping Offers -- 动态规划(虐心的六重循环啊!!!)

    题目地址:http://poj.org/problem?id=1170 Description In a shop each kind of product has a price. For exam ...

  4. MySQL 数据库增量数据恢复案例

    MySQL 数据库增量数据恢复案例 一.场景概述 MySQL数据库每日零点自动全备 某天上午10点,小明莫名其妙地drop了一个数据库 我们需要通过全备的数据文件,以及增量的binlog文件进行数据恢 ...

  5. PHP - 5.4 Array dereferencing 数组值

    在5.4之前我们直接获取数组的值得方法如下 <?php $str = 'a;b;c;d'; list($value) = explode(';',$str); echo $value; 结果为: ...

  6. js实现浏览器兼容复制功能

    经常看到这样一种效果:就是单击一个按钮,就将某个区域内的内容,复制到了剪切板中.其实这个功能实现起来也不难,核心就是用到了window子对象clipboardData的一个方法:setData()语法 ...

  7. 前端资源多个产品整站一键打包&包版本管理(四)—— js&css文件文件打包并生成哈希后缀,自动写入路径、解决资源缓存问题。

    问题: 当我们版本更新的时候,我们都要清理缓存的js跟css,如何使得在网页中不需要手动清理呢? 答案: 生成带有哈希后缀的js跟css文件 1.文件路径 路径中的conf.js 是用于放置全局打包的 ...

  8. CRUD生成器DBuilder设计与实现

    源码位于github:https://github.com/lvyahui8/dbuilder.git .文中图片如果太小看不清楚,请右键点击“在新标签页中打开”即可看到原图 有兴趣还可以加QQ群交流 ...

  9. 可以自动安装mysql数据库的一个shell脚本

    发布:thatboy   来源:脚本学堂     [大 中 小] 分享一例shell脚本,可以实现mysql数据库的自动安装,脚本写的不错,无论是用来学习,还是生产环境中应用,都是不错的,有需要的朋友 ...

  10. struct--file_operations

    struct--file_operations-----------------------------------------    struct file_operations是一个字符设备把驱动 ...