time_t和difftime

在C++中,下面这段代码可以获取一段时间差。

    time_t t1 = time(NULL);
    Sleep(1200);
    time_t t2 = time(NULL);
    cout << difftime(t2, t1) << endl;

其中time(NULL)可以获取当前时间,需要include <time>。

在windows平台下,用Sleep()函数可以让程序休眠一段时间,需要include <windows.h>。

difftime(t2, t1)可以获得时间差,虽然difftime的返回类型是double,但是由于time_t的时间单位是秒,所以difftime的返回的总是精确到秒,在上例中无法获得1.2秒的时间差只能得到1秒的差值。

要想得到毫秒级的时间差还需要其他途径。

时间: 2024-12-25 12:52:56

time_t和difftime的相关文章

C语言常用库函数总结

1.存储分配 2.随机数生成 3.数字转换 4.环境通信 5.搜索与排序 6.整型算术 7.多字节.宽字符和字符串转换 8.时间与日期 9.区域设置 10.其它 1.存储分配 void* malloc(size_t size); void* calloc(size_t elt_count, size_t elt_size); void* realloc(size_t *ptr, size_t size); void free(void *ptr); malloc函数分配足够大的内存区域长度(用s

linux程序设计——linux环境(第四章)

linux环境 这篇为linux环境,代码在linux环境代码下载.当为linux编写程序时,必须考虑到程序将在一个多任务环境中运行.这意味着在同一时间会有多个程序运行,它们共享内存.磁盘空间和CPU周期等机器资源.甚至同一程序也会有多个实例同时运行.最重要的是,这些程序能够互不干扰,能够了解它们的环境,并且能够正确运行,不产生冲突. 这章介绍程序运行的环境,程序如何通过环境来获得有关其运行条件的信息,以及用户怎样改变程序的行为. 4.1 程序参数 当一个用C语言编写的linux程序运行时,它是

ctime 时间

1. 类型clock_t: 是个long型,用来记录一段时间内的时钟计时单元数,即CPU的运行单元时间.size_t: 标准C库中定义的,应为unsigned int,在64位系统中为long unsigned int.time_t: 从1970年1月1日0时0分0秒到该时间点所经过的秒数.struct tm {  int tm_sec;       /* 秒 – 取值区间为[0,59] */  int tm_min;       /* 分 - 取值区间为[0,59] */  int tm_ho

C++ 已知两个时间(年月日)求日期差

#include<iostream> #include <ctime> using namespace std; int main() { struct tm t1 = { 0 }; struct tm t2 = { 0 }; double seconds; t1.tm_year = 2019 - 1900; t1.tm_mon = 6; t1.tm_mday = 6;//现在时间2019,7,6 t2.tm_year = 2020 - 1900; t2.tm_mon = 5; t

浅谈C/C++的time_t函数

wordpress 博客链接:http://acmerbar.com/132.html 最近翻到<C专家编程>前言看到time_t函数,竟然一时之间全无概念,只是约莫知道是个有关时间的函数,这对已经学了C/C++的博主来说,简直是个嘲讽,本机测试了一下,大概是下面这个样子: #include <iostream> #include <stdio.h> #include <string.h> #include <algorithm> #includ

C++ 时间类的应用 time_t

Unix时间戳(Unix timestamp),或称Unix时间(Unix time).POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数.Unix时间戳不仅被使用在Unix 系统.类Unix系统中,也在许多其他操作系统中被广告采用. 目前相当一部分操作系统使用32位二进制数字表示时间.此类系统的Unix时间戳最多可以使用到格林威治时间2038年01月19日03时14分07秒(二进制:01111111 1111

时间操作(struct tm、time_t)

1.在标准C/C++中,我们可通过tm结构来获得日期和时间,tm结构在time.h中的定义如下:#ifndef _TM_DEFINEDstruct 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代表一月) - 取

time_t 和 tm 结构体

使用gmtime函数或localtime函数将time_t类型的时间日期转换为struct tm类型: 使用time函数返回的是一个long值,该值对用户的意义不大,一般不能根据其值确定具体的年.月.日等数据.gmtime函数可以方便的对time_t类型数据进行转换,将其转换为tm结构的数据方便数据阅读. gmtime函数的原型如下: struct tm *gmtime(time_t *timep); localtime函数的原型如下: struct tm *localtime(time_t *

time_t和struct tm之间的转换

time_t到struct tm的转换: #include <time.h> struct tm *localtime(const time_t *timep); struct tm到time_t的转换: #include <time.h> time_t mktime(struct tm *tm); time_t timep = time(NULL);可以获得从此刻距1970-01-01 00:00:00 +0000 (UTC)时间点的秒数. 示例程序: #include <