广告

原创 Linux时间函数编程

2015-3-6 11:09 265 0 分类: MCU/ 嵌入式 文集: Linux应用程序开发学习
世界标准时间(Coordinated Universal Time):UTC为大家所熟知的格林威治标准时间(Greenwich Mean Time, GMT)。
 
Calender Time:日历时间,是用“从一个标准时间点(1970年1月1日0点)到此时经过的秒数”来表示时间。
 

1.1 获取日历时间

1.1.1 函数名    time 
1.1.2 函数原形     time_t time(time_t *t);
1.1.3 函数功能     获取日历时间
1.1.4 所属头文件    
1.1.5 返回值     成功:返回1970年1月1日0点至当前时间的秒数  失败:-1
1.1.6 参数说明     t:不为空的情况下保存返回值
 

1.2 获取格林威治时间

1.2.1 函数名     gmtime
1.2.2 函数原形     struct tm* gmtime(const time_t *timep);     
1.2.3 函数功能     将参数timep所指向的日历时间转化为世界标准时间
1.2.4 所属头文件    
1.2.5 返回值     成功:返回标准时间,以struct tm方式存储。  失败:返回NULL
1.2.6 参数说明     timep:待转化的日历时间
})]at@2u$8~%z85){b1ne}t.jpg

1.3 获取本地时间

1.3.1 函数名     localtime
1.3.2 函数原形    struct tm *localtime(const time_t *timep); 
1.3.3 函数功能     将参数timep所指向的日历时间转化为本地时间
1.3.4 所属头文件    
1.3.5 返回值     成功:返回以struct tm形式存储的本地时间  失败:NULL
1.3.6 参数说明     timep:待转化的日历时间
 

1.4 以字符串方式显示时间

1.4.1 函数名     asctime
1.4.2 函数原形     char *asctime(const struct tm *tm);
1.4.3 函数功能     将struct tm格式的时间转化为字符串
1.4.4 所属头文件    
1.4.5 返回值     成功:字符串方式显示的时间  失败:NULL
1.4.6 参数说明     tm:待转化的tm格式的时间
 

1.5 获取高精度时间

1.5.1 函数名     gettimeofday
1.5.2 函数原形     int gettimeofday(struct timeval *tv, struct timezone *tz);
1.5.3 函数功能     获取高精度时间
1.5.4 所属头文件    
1.5.5 返回值     成功:0  失败:-1
1.5.6 参数说明   tv:保存从1970年1月1日0点至当前经历的秒数和微秒数。     tzone:通常为NULL
  fcum91r507m9rebf1ia2lvm995_352dca46af4ba2c187198690bcd5bf3b1425611303.5545.jpg?42322015-03-06%2011:08:23
 
总结fcum91r507m9rebf1ia2lvm995_6510c81633c307a349a3e550befb5da11425611372.2478.jpg?65762015-03-06%2011:09:32
 
小实验:
#include
#include
#include

int main()
{
     time_t calander_time;
     struct tm *greenwich_time;
     struct tm *local_time;
     char *asc_time;
     struct timeval hd_time;

     calander_time = time(NULL);//日历时间
     printf("calander time is %d!\n", calander_time);
     greenwich_time = gmtime(&calander_time);//格林威治时间
     printf("greenwich_time is : year->%d, month->%d, minute->%d\n", greenwich_time->tm_year, greenwich_time->tm_mon);
     local_time = localtime(&calander_time); //本地时间
     printf("local_time is : year->%d, month->%d, minute->%d\n", local_time->tm_year, local_time->tm_mon);
     asc_time = asctime(local_time);//字符串输出时间
     printf("time is %s\n", asc_time);
     gettimeofday(&hd_time, NULL);//高精度时间
     printf("high definition time is sec:%d usec:%d\n",hd_time.tv_sec, hd_time.tv_usec);
     return 0;
}
广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
潇洒哥 2015-07-08 16:01
位操作符的使用技巧
在C语言编程中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效地提高程序运行的效...
潇洒哥 2015-04-04 17:39
finish shell分析之底层usart
rt_thread的finsh shell系统不愧是调试的一项利器,它可以除了完成一般shell的功能外,甚至还可以自定义命令。这个对功能单一的嵌入式系统来说是十分可贵的。在此我并不想对finsh...
潇洒哥 2015-04-01 21:29
__main() 和 main()
因为我们通常在BOOTLOADER中都已做好了比较细致的初始化工作,包括代码的搬运,所以我们最好别再调用库函数__main(),因为__main()作为ADS集成好的库函数,会对系统进行初始化设置...
潇洒哥 2015-03-26 22:54
RT-Thread学习之scons篇--解析rtconfig.py文件
rtconfig.py文件,主要用于指定编译器以及安装路径。除此之外,该文件中定义了大量的变量,这些变量包括编译选项,汇编选项,链接选项。   import os # toolchain...
潇洒哥 2015-03-26 22:53
RT-Thread学习之scons篇--SConsruct脚本文件解析
       scons的构建文件名称是统一的都称为SConstruct。其是scons所接受的编译脚本主文件。当然为了方便目录的组织,也允许在各个目录下面存放SConscript, 然后最上面S...
潇洒哥 2015-03-26 22:53
RT-Thread学习之scons篇--SConcript文件解析
SConscript文件是用来指定哪些文件会加入编译。先来分析下BSP主目录下的SConscript文件: import rtconfig Import('RTT_ROOT') fro...
我要评论
0
0
广告
关闭 热点推荐上一条 /1 下一条