时间编程

使用Linux时间编程相关函数,编写程序,通过实现与函数asctime相同功能的函数获取本地时间,以格式字符串方式显示

概念:日历时间,通过time_t数据类型来表示,从一个时间点(通常是1970年1月1日0时0分0秒)到此时的秒数。

格林威治时间:由英国皇家格林尼治天文台提供的标准时间。

本地时间:根据格林威治时间和本地时区计算出的时间。

1、获取当前的系统时间--time

头文件:#include<time.h>

函数原型:time_t time(time_t *timer)

参数说明:timer:timer=NULL时得到系统日历时间,timer等于时间数值时,用于设置日历时间。

返回值:返回日历时间。

2、通过日历时间获得本地时间--localtime

函数原型:struct tm *localtime(const time_t *clock)

参数说明:clock指向日历时间的指针变量。

返回值:返回指向tm结构体的指针。

3、通过日历时间获得格林威治时间---gmtime

函数原型:struct tm *gmtime(long *clock)

参数说明:clock指向日历时间的指针变量

返回值:返回指向tm结构体的指针。

4、转换日期和时间为ASCII码---asctime

函数原型:char *asctime(const struct tm *tblock)

参数说明:tblock记录时间的tm结构

返回值:返回字符串格式:星期,月,日,小时:分:秒,年。

5、把日期和时间转换为字符串---ctime

函数原型:char *ctime(const time_t *time);

参数说明:time指向日历时间的指针变量,该参数应由函数time函数获得。

返回值:返回字符串格式:星期,月,日,小时;分;秒,年

6、取得目前时间-----gettimeofday

函数原型:int gettimeofday(struct timeval *tv,struct timezone *tz);

参数说明:tv当前timeval结构;tz时区结构。

返回值:成功0,失败-1.

7、把日期和时间转换为字符串---settimeofday

函数原型:int settimeofday(const struct timeval *tv,const struct timezone *tz);

参数说明:tv:当前timeval结构;tz:时区结构。

返回值:成功0,失败-1.

tm结构体:是C语言中用于表示日期和时间的结构体,

struct tm

{

int tm_sec;//表示秒数,在0-61之间,多出来的2秒是用来处理跳秒问题用的

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],闰年有366

int tm_isday;//是否为日光节约时间

};

sprintf---把格式化的数据写入某个字符串

函数原型:int sprintf(char *buffer,const char *format);

返回值:字符串长度(strlen)

注意sprintf输出的数据到字符串buffer中,printf将数据输出到命令行。

获取本地时间,以格式字符串方式显示

总结:通过本实验可以看出,要获得本地时间字符串,一般需要三个步骤:

1、通过time函数获得日历时间

2、通过localtime函数将日历时间转化为本地时间

3、通过asctime函数将本地时间转化为字符串

当然,可以不经过步骤2),直接使用ctime从日历时间获得时间字符串。

时间: 2024-11-10 10:51:54

时间编程的相关文章

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 中的时间编程和实现原理一—— Linux 应用层的时间编程【转】

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

Linux 下的时间编程总结

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

对于前段时间编程体会

1.程序整体结构上的改善 在最开始编写程序,我还没有接触到框架,并没有框架的概念.编写程序的目标也只是纯粹的能够实现要求,在纠正.拓展很多方面,程序是难以去进行改进的,因为很乱,往往无从下手.所以说,经过这一段时间的编程,从没有接触过框架,到学着做小框架,到做出来一个小小的框架.我所学习到最重要的,就是一个优良的程序,它应该是有层次,有结构,分工明确的.这样,它才能错而易改,方便拓展.我编写代码的过程,也是从毫无层次毫无逻辑,到有一点点的结构感. 除此之外,开始编写的代码由于过于没有结构,因此很

10.时间编程

1.时间的类型: Coordinated Universal Time(UTC):世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT). Calendar Time:日历时间,是用"从一个标准时间点(如:1970年1月1日0点)到此时经过的秒数"来表示的时间. ? 2.时间操作: 获取日历时间:man 2 time: (主要:man 后面的数字表示的是章节:1(留空):命令 2:函数 3:系统调用.) NAME time - get tim

golang 时间编程

编程离不开时间,时间管理,严格的说分成两块,一个是当前的时刻,对应的是一个点,还有是一段时间间隔.本文简单的讲讲go的时间相关的编程,比较简单,高手可以一笑而过. golang对时间的支持,是package time做的事儿,里面有好多的函数,我就不一一举例学习,毕竟这是官方文档干的事情.我们初步的学习下常用的函数. 第一个是UNIX epoch time,确切的说就是自1970-01-01 00:00:00 GMT以来的秒数,不知道如何获取的,可以在shell下执行 date +%s gola

[国嵌攻略][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

第9课-时间编程

1.格林威治时间(UTC):即世界标准时间.是以英国伦敦的一个地方的时间为标准.日历时间:以一个标准时间点(1970.01.01.00:00:00:)为起点,到现在所经历的秒数.2.函数学习1.1 获取日历时间1.1.1 函数名Time1.1.2 函数原形time_t time(time_t *t);1.1.3 函数功能返回日历时间1.1.4 所属头文件<time.h>1.1.5 返回值成功:返回从1970.1.1.0:0:0:到现在的日历时间(秒数)失败:-1,相应的错误原因会被设置在全局变

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指针指向的内存. 返回值:成功则返回秒数,失败则返