time()函数:

NAME
time - get time in seconds

SYNOPSIS
#include <time.h>

time_t time(time_t *tloc);

/* typedef long     time_t; */

DESCRIPTION
time() returns the time as the number of seconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).

If tloc is non-NULL, the return value is also stored in the memory pointed to by tloc.

返回从公元1970-01-01的UTC时间 从00:00:00 到现在所经历的描述,如果tloc非空,返回值也会存储到tloc指向的内存

RETURN VALUE
On success, the value of time in seconds since the Epoch is returned. On error, ((time_t) -1) is returned, and errno is set appropriately.

执行成功,返回秒数

执行失败,返回-1

localtime()函数

作用:

localtime是 把从1970-1-1零点零分到当前时间系统所偏移的秒数时间转换为本地时间

原型:

struct tm *localtime(const time_t *timer)

  • const time_t *time:这是指向表示日历时间的 time_t 值的指针,由time()函数返回

返回值:

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; /* 夏令时 */
};

例子:

#include <stdio.h>
#include <time.h> int main ()
{
time_t rawtime;
struct tm *info;
char buffer[]; time( &rawtime ); info = localtime( &rawtime );
printf("当前的本地时间和日期:%s", asctime(info)); return();
}

asctime()函数

原型:

char* asctime (const struct tm * timeptr)

作用:

把timeptr指向的tm结构体中储存的时间转换为字符串,返回的字符串格式为:Www Mmm dd hh:mm:ss yyyy。其中Www为星期;Mmm为月份;dd为日;hh为时;mm为分;ss为秒;yyyy为年份。

参数:

  • const struct tm * timept:由localtime()函数返回

返回值:

时间字符串

例子:

/* asctime example */
#include <stdio.h> /* printf */
#include <time.h> /* time_t, struct tm, time, localtime, asctime */ int main ()
{
time_t rawtime;
struct tm * timeinfo; time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf ( "The current date/time is: %s", asctime (timeinfo) ); return ;
}
函数范例的输出:
The current date/time is: Wed Feb 13 15:46:46 2018

gettimeofday()函数

原型:

#include <sys/time.h>
int gettimeofday(struct timeval*tv, struct timezone *tz);

作用:

获得当前精确时间(1970年1月1日到现在的时间),或者为执行计时,可以使用gettimeofday()函数。

参数:

  • struct timeval*tv

    struct timeval{
    long int tv_sec; // 秒数
    long int tv_usec; // 微秒数
    }
  • struct timezone *tz
    struct timezone{
    int tz_minuteswest;  /*格林威治时间往西方的时差*/
    int tz_dsttime;/*DST 时间的修正方式*/
    }

返回值:

执行成功,返回0

执行失败,返回-1

例子:

它获得的时间精确到微秒(1e-6 s)量级。在一段代码前后分别使用gettimeofday可以计算代码执行时间:

struct timeval tv_begin, tv_end;
gettimeofday(&tv_begin, NULL);
foo();
gettimeofday(&tv_end, NULL);

Linux常用时间函数的更多相关文章

  1. linux中时间函数

    linux下常用时间类型有四种: time_t . struct   tm. struct  timeval .    struct   timespec 1.time_t   时间函数 time_t ...

  2. Linux常用系统函数

    Linux常用系统函数 一.进程控制 fork 创建一个新进程clone 按指定条件创建子进程execve 运行可执行文件exit 中止进程_exit 立即中止当前进程getdtablesize 进程 ...

  3. PLSQL常用时间函数

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  4. Lua常用时间函数

    常用时间函数 print(os.time()) --当前系统时间值 print(os.date( print(os.date("*t"), os.time()) --当前系统时间表 ...

  5. mysql时间类型总结及常用时间函数

    日期时间和类型 常用日期和时间类型 字节 year                1       表示年份                   值范围:(1901----2155) date     ...

  6. mysql常用时间函数与类型转换

    一.用到的函数有: 1.时间格式化函数  DATE_FORMAT(date,format) 2.时间加减函数DATE_ADD(date,INTERVAL expr unit)DATE_SUB(date ...

  7. MySQL常用时间函数

    官方文档:Date and Time Functions Name Description ADDDATE() Add time values (intervals) to a date value ...

  8. linux常用C函数目录

    字符测试篇 isalnum isalpha isascii iscntrl isdigit isgraphis islower isprint isspace ispunct isupper isxd ...

  9. Linux时间时区详解与常用时间函数

    时间与时区 整个地球分为二十四时区,每个时区都有自己的本地时间. Ø  UTC时间 与 GMT时间 我们可以认为格林威治时间就是时间协调时间(GMT = UTC),格林威治时间和UTC时间都用秒数来计 ...

随机推荐

  1. Python - Django - AJAX 实现 POST 请求

    index.html: <input type="text" id="i1">+ <input type="text" i ...

  2. 在使用redis做缓存后,mybatis的延迟加载失效

    原来使用的是EHcache,mybatis延迟加载没有问题,改成redis后,延迟加载获得数据时就会发生错误. 报:Cannot get Configuration as configuration ...

  3. 使用qmlscene命令来快速查看编辑的qml文件的实际效果图

    一片金灿灿的树叶落下来,仿佛飞来了许许多多翩翩起舞的黄蝴蝶. Qt SDK 提供 了 一个 命令行 环境, 给那些 有 特殊 需求 的 开发者, 方便 他们 在 不 使用 Qt Creator 集成 ...

  4. PHP设计模式 - 建造者模式

    建造者模式主要在于创建一些复杂的对象.将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示的设计模式; 结构图: <?php /** * * 产品本身 */ class Pro ...

  5. Linux04 目录的相关操作(mkdir、rmdir、rm、cp)

    一.创建目录:mkdir mkdir 目录名 二.删除目录:rmdir / rm rmdir 目录名 rm -r 目录名      每一级子目录都会询问是否删除 rm -rf 目录名     慎用,给 ...

  6. Linux中的13个基本Cat命令示例

    cat(“ concatenate ”的缩写)命令是Linux / Unix等操作系统中最常用的命令之一.cat命令允许我们创建单个或多个文件,查看文件包含,连接文件以及在终端或文件中重定向输出.在本 ...

  7. day29——socket套接字(少量不全)

    day29 socket套接字 socket是处于应用层与传输层之间的抽象层,他是一组操作起来非常简单的接口(接受数据)此接口接受数据之后,交由操作系统. 为什么存在socket抽象层? 如果直接与操 ...

  8. 数列分段 II

    题目描述 思路 代码 #include <cstdio> int n, m, arr[100005], ans; int l, r, mid, inf = 0x7f3f3f3f; inli ...

  9. go 疑难杂症

    func Test_doSeond(t *testing.T) { msg := make([]Msg, 0) for i := 0; i < 5; i++ { m := Msg{ data: ...

  10. Oracle数据库常用语法

    基本 --新建表:create table table1( id varchar(300) primary key, name varchar(200) not null); --插入数据 inser ...