参考链接

https://blog.csdn.net/ffcjjhv/article/details/83376767

0)Head file

#include "time.h"

1) 结构定义,

主要是3个结构,time_t,clock_t和tm

特别注意year,month的范围和我们常用的年月不一样,年是相对于1900/1970年的,月是从0到11的。

struct time_t ;
//X64(X86 32bit)系统里面是1900(1970)年到现在经过了多少秒,
struct clock_t ; struct tm {
int tm_sec;   // 秒,正常范围从 0 到 59,但允许至 61
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,从 1 月 1 日算起
int tm_isdst; // 夏令时

2)主要的函数

互相转换类函数

[]转换成字符串显示类函数

char asctime(const struct tm timeptr);
//将tm结构体中的信息转换为真实世界的时间,以字符串的形式显示 char ctime(const time_t timep);
//将time_t结构转换为真是世界的时间,以字符串显示 []两种结构互相转换的函数 struct tm* gmtime(const time_t* timep);
//将time_t表示的时间转换为没有经过时区转换的UTC时间,是一个struct tm结构指针 struct tm* localtime(const time_t* timep);
//和gmtime类似,但是它是经过时区转换的时间 time_t mktime(struct tm* timeptr);
//将struct tm 结构的时间转换为从1970年至今的秒数 []系统相关的函数

clock_t clock() ;
//进程起来时候(或者是开机时候,或者是别的什么固定时间点)到现在,处理器运行的时钟。
time_t time(time_t* t);
//取系统当前的时间,放在time_t结构里面
double difftime(time_t time1, time_t time2)
//两个时间之间相差多少 //print 运行时间的示例代码
void TimeTrack(unsigned char * text) {
static clock_t begin_time=;
clock_t this_time=clock();
if ( == begin_time) {
printf("<TIME-Track>: Begin of Time Track \n");
begin_time = this_time ;
}else{
printf("<TIME-Track>: {%s}=%f\n",text,(float) (this_time-begin_time) / CLOCKS_PER_SEC );
}
}

另一种利用time()的方法

void TimeTrack(unsigned char * text) {
static int begin_time=0;
static time_t begin ;
time_t this_time;
time(&this_time);
if (0 == begin_time) {
printf("<TIME-Track>: Begin of Time Track \n");
memcpy(&begin,&this_time,sizeof(time_t)) ;
begin_time = 1;
}else{
printf("<TIME-Track>: {%s}=%f\n",text,difftime (this_time , begin) );
}
}

  

系统相关函数

C语言里面和时间有关的函数的更多相关文章

  1. SqlServer中日期和时间数据类型及函数 【转】

    来源:http://blog.csdn.net/royalwzy/article/details/6446075 日期和时间数据类型 下表列出了 Transact-SQL 的日期和时间数据类型. 数据 ...

  2. MySQL时间戳和时间格式转换函数

    MySQL时间戳和时间格式转换函数:unix_timestamp and from_unixtime unix_timestamp将时间转化成时间戳格式.from_unixtime将时间戳转化成时间格 ...

  3. mysql 时间字段的函数 timestamp

    Mysql 里格式 时间字段的函数 DATE_FORMAT unix_timestamp - 墨墨修行的日志 - 网易博客http://jjuanxi.blog.163.com/blog/static ...

  4. [php基础]Mysql日期函数:日期时间格式转换函数详解

    在PHP网站开发中,Mysql数据库设计中日期时间字段必不可少,由于Mysql日期函数输出的日期格式与PHP日期函数之间的日期格式兼容性不够,这就需要根据网站实际情况使用Mysql或PHP日期转换函数 ...

  5. Swift - 时间控制器NSTimer(每隔一定时间执行某个函数)

    时间控制器NSTimer可以实现定时器功能,即每隔一定时间执行具体函数,可以重复也可以只执行一次. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 cl ...

  6. [转]详细的mysql时间和日期函数

    这里是一个使用日期函数的例子.下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table WHERE TO_DAY ...

  7. C 语言实现多态的原理:函数指针

    C语言实现多态的原理:函数指针 何为函数指针?答案:C Programming Language. 能够查阅下,从原理上来讲,就是一个内存地址.跳过去运行相应的代码段. 既然如此,在运行时决定跳到哪个 ...

  8. Python 关于时间和日期函数使用 -- (转)

    python中关于时间和日期函数有time和datatime   1.获取当前时间的两种方法: import datetime,time now = time.strftime("%Y-%m ...

  9. lua的时间和日期函数

    lua的时间和日期函数 -- ::| 分类: Lua | 标签:lua 时间 函数 |举报|字号 订阅 下载LOFTER客户端 --获取当前的时间戳,单位是秒. time=os.time(); pri ...

随机推荐

  1. 分支预测(branch prediction)

    记录一个在StackOverflow上看到一个十分有趣的问题:问题. 高票答案的优化方法: 首先找到罪魁祸首: if (data[c] >= 128) sum += data[c]; 优化方案使 ...

  2. request和response对象如何解决中文乱码问题?

    出现中文乱码的问题,一般的原因编码和和解码不一致造成的. /* 乱码:编码和解码不一致导致的 GET:你好 POST:?????? tomcat版本:8.5及以上版本 GET请求方式,request对 ...

  3. Python爬虫教程-爬取5K分辨率超清唯美壁纸源码

    简介 壁纸的选择其实很大程度上能看出电脑主人的内心世界,有的人喜欢风景,有的人喜欢星空,有的人喜欢美女,有的人喜欢动物.然而,终究有一天你已经产生审美疲劳了,但你下定决定要换壁纸的时候,又发现网上的壁 ...

  4. 列举mvc ActionResult的返回值

    8.列举ASP.NET MVC ActionResult的返回值有几种类型? 主要有View(视图).PartialView(部分视图).Content(内容).Json(Json字符串).Javas ...

  5. 四 动态sql 标签的使用(if&where&sql片段&foreach)

    if标签的使用: userMapper.xml  userMapper.java junit: where标签: 注意:写了where标签就不用手动写where语句 sql片段的设置和调用: forr ...

  6. Python print()函数

    #输出单个数据,会自动输出回车换行 print(1) print(2) #输出 1 2 #输出换行 print('\n') #防止换行 for x in range(0, 5): print(x, e ...

  7. INUX下抓取当前登录用户登录密码的工具:mimipenguin

    前有Mimikatz,今有mimipenguin,近日国外安全研究员huntergregal发布了工具mimipenguin,一款Linux下的密码抓取神器,可以说弥补了Linux下密码抓取的空缺. ...

  8. Docker 基础入门

    Docker是一个开放的平台,将应用和基础设施分隔开来, 方便快速的交付软件.利用docker的提供的方法可以快速的测试和部署代码,显著的减少写代码和部署直接的延迟. Docker 平台(The Do ...

  9. C++服务器与java进行socket通信案例

    分类: [java]2012-10-08 12:03 14539人阅读 评论(46) 收藏 举报 注:本代码版权所有!!!转载时请声明源地址:http://blog.csdn.net/nuptboyz ...

  10. 吴裕雄--天生自然JAVA数据库编程:事务处理

    DROP TABLE user ; -- 删除表 CREATE TABLE user( id INT AUTO_INCREMENT PRIMARY KEY , name VARCHAR(30) NOT ...