linux 时间编程相关函数

时间的类型说明

Coordinated Universal Time(UTC):世界标准时间,格林威治标注时间(Greenwich Mean Time,GMT)。
Calendar Time :日历时间。1970年1月1日0点到此时的秒数。

时间获取函数

time_t time(time_t *t);

功能描述:该函数返回从1970年1月1日00时00分00秒至今所经过的秒数。如果time_t *timer非空指针,函数也会将返回值存到timer指针指向的内存。

返回值:成功则返回秒数,失败则返回((time_t)-1)值,错误原因存于errno中。

时间转化函数

struct tm *gmtime(const time_t *timep);

功能描述:gmtime( )将参数timep指向的日历时间信息转换成以tm结构体表示的GMT时间,并保存至struct tm 结构体中。

struct tm *localtime(const time_t *timep);

功能描述:localtime( )将参数timep指向的time_t时间信息转换成以tm结构体表示的本地时区时间。

time_t mktime(struct tm *tm);

功能描述:参数tm指向的tm结构体数据转换成从1970年1月1日00时00分00秒至今的GMT时间经过的秒数。

tm结构体原型

struct tm {
    int tm_sec;         /* seconds */
    int tm_min;         /* minutes */
    int tm_hour;        /* hours */
    int tm_mday;        /* day of the month */
    int tm_mon;         /* month */
    int tm_year;        /* year */
    int tm_wday;        /* day of the week */
    int tm_yday;        /* day in the year */
    int tm_isdst;       /* daylight saving time 夏令时*/
};

时间显示函数

char *asctime(const struct tm *tm);

功能描述:将tm格式的时间转化为字符串形式

char *ctime(const time_t *timep);

功能描述:将日历时间转换成本地时间的字符串形式。

获取时间函数

int gettimeofday(struct timeval *tv, struct timezone *tz);

功能描述:日历时间存入timeval 结构体。当地时区星期存入 timezone 结构体。该函数常用于计算时间损耗

结构体原型

struct timeval{
    time_t      tv_sec;     /* 秒数 */
    suseconds_t tv_usec;    /* 微秒 */
};

struct timezone{
    int tz_minuteswest;     /* 与格林威治时间相差分钟数 */
    int tz_dsttime;         /* 日光节约时间的状态*/
};

z_dsttime 所代表的状态如下
DST_NONE /*不使用*/
DST_USA /*美国*/
DST_AUST /*澳洲*/
DST_WET /*西欧*/
DST_MET /*中欧*/
DST_EET /*东欧*/
DST_CAN /*加拿大*/
DST_GB /*大不列颠*/
DST_RUM /*罗马尼亚*/
DST_TUR /*土耳其*/
DST_AUSTALT /*澳洲(1986年以后)*/

延迟执行函数

unsigned int sleep(unsigned int seconds);

功能描述:使程序睡眠 seconds 秒。

int usleep(useconds_t usec);

功能描述:使程序睡眠 usec 微秒。

时间: 2024-10-26 17:02:15

linux 时间编程相关函数的相关文章

[国嵌攻略][077][Linux时间编程]

时间类型 Coordinated Universal Time(UTC):世界标准时间,也就是格林威治时间(Greenwich Mean Time, GMT). Calendar Time:日历时间,是用一个标准时间点(1970年1月1日0点)到此时所经过的秒数来表示的时间. #include <stdio.h> #include <time.h> #include <sys/time.h> void main(){ //获取日历时间 time_t ctime; tim

linux网络编程相关函数

network: struct sockaddr{ sa_falimy_t sa_family; //协议族 char sa_data[14]; //协议族数据}; struct sockaddr_in{ u8 sin_len; //sockaddr_in的长度,16 u8 sin_family; //协议族 u16 sin_port; //端口 struct in_addr sin_add; //ip地址,32位 char sin_zero[8] //未用} int socket(int fa

时间编程

使用Linux时间编程相关函数,编写程序,通过实现与函数asctime相同功能的函数获取本地时间,以格式字符串方式显示 概念:日历时间,通过time_t数据类型来表示,从一个时间点(通常是1970年1月1日0时0分0秒)到此时的秒数. 格林威治时间:由英国皇家格林尼治天文台提供的标准时间. 本地时间:根据格林威治时间和本地时区计算出的时间. 1.获取当前的系统时间--time 头文件:#include<time.h> 函数原型:time_t time(time_t *timer) 参数说明:t

浅析 Linux 中的时间编程和实现原理一—— Linux 应用层的时间编程【转】

本文转载自:http://www.cnblogs.com/qingchen1984/p/7007631.html 本篇文章主要介绍了"浅析 Linux 中的时间编程和实现原理一—— Linux 应用层的时间编程",主要涉及到浅析 Linux 中的时间编程和实现原理一—— Linux 应用层的时间编程方面的内容,对于浅析 Linux 中的时间编程和实现原理一—— Linux 应用层的时间编程感兴趣的同学可以参考一下. 简介: 本文试图完整地描述 Linux 系统中 C 语言编程中的时间问

linux应用开发-时间编程

linux应用开发-时间编程 一 时间类型 世界标准时间:格林威治时间 日历时间:从1970-1-1起的秒数 二 时间函数 1 获取日历时间 函数名 time 函数原形 time_t time(time_t *t) 函数功能 从1970年1月1日的时间,单位为秒 所属头文件 #include<time.h> 返回值 成功返回时间的秒速 失败返回-1 参数说明 保存返回值 2 获取格林威治时间 函数名 gmtime 函数原形 struct tm *gmtime(const time_t *tim

Linux系统编程_5_获取系统时间

Linux环境中时间编程函数: 比较常用的是ctime与localtime char *ctime(const time_t *timep); char *ctime_r(const time_t *timep, char *buf); struct tm *localtime(const time_t *timep); struct tm *localtime_r(const time_t *timep, struct tm *result); Linux环境中时间编程结构体: struct

Linux网络编程(简单的时间获取服务器)

1.一个简单的服务器时间获取程序 服务器和客户端采用UDP通信的方式,来编写一个简单的时间获取应用. 把过程大致理顺一下,首先是服务器端的编写,使用的是迭代的方式,没有并发 先创建一个socket而后bind服务器,绑定之后就可以创建一个循环来接收和发送 信息了,以达到和客户端之间的通信. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include

Linux 下的时间编程总结

在嵌入式编程中中,经常需要输出系统的当前时间.计算程序的执行时间.使用计时器等.最近也做了不少关于时间的操作,今天就认真总结一下,部分内容是在网上看到的.自己经过验证总结出来. 1.时间的类型 1.格林威治标准时间 coordinated universal time(UTC)是世界标准时间,即常说的格林威治标准时间(greenwich mean time,GMT). 2.日历时间 日历时间(calendar time)是用"一个标准时间点(如1970年1月1日0点)到此时经过的秒数"

Linux线程编程之信号处理

前言 Linux多线程环境中的信号处理不同于进程的信号处理.一方面线程间信号处理函数的共享性使得信号处理更为复杂,另一方面普通异步信号又可转换为同步方式来简化处理. 本文首先介绍信号处理在进程中和线程间的不同,然后描述相应的线程库函数,在此基础上给出一组示例代码,以讨论线程编程中信号处理的细节和注意事项.文中涉及的代码运行环境如下: 本文通过sigwait()调用来“等待”信号,而通过signal()/sigaction()注册的信号处理函数来“捕获”信号,以体现其同步和异步的区别. 一  概念