我是靠谱客的博主 诚心宝马,最近开发中收集的这篇文章主要介绍c 时间库函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用下列函数需现包含下面的头文件:

#include <time.h>

获取当前时间:

time_t time(time_t *seconds)

返回(1970-01-01 00:00:00 UTC)起经过的时间(日历时间),以秒为单位。如果 seconds 不为空,则返回值也存储在变量 seconds 中

将time_t类型日期时间转换为 struct tm类型的日期时间:

struct tm *gmtime(const time_t *timer)

此函数返回的是UTC时间。
struct tm具体细节:

struct tm {
   int tm_sec;         /* 秒,范围从 0 到 59 */
   int tm_min;         /* 分,范围从 0 到 59 */
   int tm_hour;        /* 小时,范围从 0 到 23 */
   int tm_mday;        /* 一月中的第几天,范围从 1 到 31 */
   int tm_mon;         /* 月份,范围从 0 到 11 */
   int tm_year;        /* 自 1900 起的年数 */
   int tm_wday;        /* 一周中的第几天,范围从 0 到 6 */
   int tm_yday;        /* 一年中的第几天,范围从 0 到 365 */
   int tm_isdst;       /* 夏令时*/    
};

将struct tm类型日期时间转换为 time_t类型的日期时间:

time_t mktime(struct tm *timeptr)

字符串转时间函数:

char *strptime(const char *buf,const char *format,struct tm *timeptr)

buf: 要转换的字符串(以0结尾);
format: 字符串格式
struct tm *timeptr:转换后存储tm值的指针;
返回值: 指向转换过程处理的最后一个字符后面的那个字符。
format参数:
转换控制符 说明
%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 当地格式的日期
%X 当地格式的时间
%y 年份中的最后两位数,00-99
%Y 年
%Z 地理时区名称

struct tm结构时间转换为字符串:

size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)

str 是指向目标数组的指针,用来复制产生的 C 字符串。
maxsize 是被复制到 str 的最大字符数。
format参数同strptime函数
如果产生的 C 字符串小于 maxsize 个字符(包括空结束字符),则会返回复制到 str 中的字符总数(不包括空结束字符),否则返回零。

示例代码:

//比较两个时间
            time_t t1;
            time_t t2;
            struct tm timeptr;
            struct tm *tmp;
            strptime(row[0], "%Y-%m-%d %H:%M:%S", &timeptr);//row[0]是从数据库中查询到的时间,是字符串格式,要转换成struct tm格式 
            t2 = mktime(&timeptr);//struct tm格式转换为time_t格式
            t1 = time(NULL);//当前的时间
            tmp = gmtime(&t1);//日历时间转换为UTC时间,与t2保持一致
            t1 = mktime(tmp);
            if((t1-t2)<600){//两个时间相差10min
              /*do something*/
            }

最后

以上就是诚心宝马为你收集整理的c 时间库函数的全部内容,希望文章能够帮你解决c 时间库函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部