C程序中对时间的处理——time库函数详解
| 包含文件:<sys/time.h> <time.h> 一、在C语言中有time_t, tm, timeval等几种类型的时间 1、time_t time_t实际上是长整数类型,定义为:typedef long time_t; /* time value */ | 
struct timeval
{
__time_t tv_sec; /* Seconds. */
__suseconds_t tv_usec; /* Microseconds. */
};
| struct tm { int tm_sec; /*代表目前秒数,正常范围为0-59,但允许至61秒 */     int tm_min;     /*代表目前分数,范围0-59*/     int tm_hour;   /* 从午夜算起的时数,范围为0-23 */     int tm_mday;  /* 目前月份的日数,范围01-31 */     int tm_mon;   /*代表目前月份,从一月算起,范围从0-11 */     int tm_year;   /*从1900 年算起至今的年数*/     int tm_wday;   /* 一星期的日数,从星期一算起,范围为0-6。*/     int tm_yday;   /* Days in year.[0-365] */ int tm_isdst; /*日光节约时间的旗标DST. [-1/0/1]*/ }; | |
|  | |
| 二、具体操作函数 
   说 明:此函数返回的时间日期未经时区转换,而是UTC时间。   返回值:返回结构tm代表目前UTC 时间 程序例 | |
|   #include "stdio.h" | 
的结构体.
程序例1:
需要注意的是年份加上1900,月份加上1。
t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec);
localtime_r()和gmtime_r()函数
  struct tm *gmtime_r(const time_t *timep, struct tm *result); 
  struct tm *localtime_r(const time_t *timep, struct tm *result);
localtime_r()函数功能与此相同,但是它可以将数据存储到用户提供的结构体中。它不需要设置tzname。
一个好的方法是使用gmtime_r和localtime_r,由于使用了用户分配的内存,这两个函数是不会出错的。
功 能: 转换日期和时间为相应的字符串(英文简写形式,形如:Mon Feb 16 11:29:26 2009)
而asctime是通过tm结构来生成时间字符串。
功 能:将tm时间结构数据转换成经过的秒数(日历时间)。
从公元1970年1月1日0时0分0 秒算起至今的UTC时间所经过的秒数。
这是由它的参数决定的。
最多向strDest中存放maxsize个字符。
格式化命令说明串strDest中各种日期和时间信息的确切表示方法。格式串中的其他字符原样放进串中。
格式命令列在下面,它们是区分大小写的。
http://wenku.baidu.com/view/bce42784bceb19e8b8f6ba31.html?from=rec&pos=0&weight=14&lastweight=6&count=5
C程序中对时间的处理——time库函数详解的更多相关文章
- 【翻译】Anatomy of a Program in Memory—剖析内存中的一个程序(进程的虚拟存储器映像布局详解)
		[翻译]Anatomy of a Program in Memory—剖析内存中的一个程序(进程的虚拟存储器映像布局详解) . . . 
- SVN组成中trunk,branches and tags功能用法详解
		SVN组成中trunk,branches and tags功能用法详解 我相信初学开发在SVN作为版本管理时,都估计没可能考虑到如何灵活的运用SVN来管理开发代码的版本,下面我就摘录一篇文章来简单说 ... 
- UIViewController中各方法调用顺序及功能详解
		UIViewController中各方法调用顺序及功能详解 UIViewController中loadView, viewDidLoad, viewWillUnload, viewDidUnload, ... 
- 单元测试系列之四:Sonar平台中项目主要指标以及代码坏味道详解
		更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6766994.html 众所周知Sona ... 
- 详解Android中的四大组件之一:Activity详解
		activity的生命周期 activity的四种状态 running:正在运行,处于活动状态,用户可以点击屏幕,是将activity处于栈顶的状态. paused:暂停,处于失去焦点的时候,处于pa ... 
- opencv中  int main(int argc,char* argv[])详解
		opencv中 int main(int argc,char* argv[])详解 argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 ... 
- 连接池中的maxIdle,MaxActive,maxWait等参数详解
		转: 连接池中的maxIdle,MaxActive,maxWait等参数详解 2017年06月03日 15:16:22 阿祥小王子 阅读数:6481 版权声明:本文为博主原创文章,未经博主允许不得 ... 
- 【eclipse插件开发实战】 Eclipse插件开发5——时间插件Timer开发实例详解
		Eclipse插件开发5--时间插件Timer开发实例详解 这里做的TimeHelper插件设定为在菜单栏.工具栏提供快捷方式,需要在相应地方设置扩展点,最后弹出窗体显示时间. 在上一篇文章里创建好了 ... 
- 【转帖】windows命令行中java和javac、javap使用详解(java编译命令)
		windows命令行中java和javac.javap使用详解(java编译命令) 更新时间:2014年03月23日 11:53:15 作者: 我要评论 http://www.jb51.ne ... 
随机推荐
- Opensource开源精神
			现在如火如荼的开源运动和互联网自由开放的精神是一致的,互联网上有无数非常优秀的像Linux一样的开源代码,我们千万不要高估自己写的代码真的有非常大的“商业价值”.那些大公司的代码不愿意开放的更重要的原 ... 
- linux添加开机自启动脚本示例详解
			linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有 ... 
- HashMap的key可以是可变的对象吗???
			大家都知道,HashMap的是key-value(键值对)组成的,这个key既可以是基本数据类型对象,如Integer,Float,同时也可以是自己编写的对象,那么问题来了,这个作为key的对象是否能 ... 
- TFS 2013 生成(构建)历史记录保持策略(Retention Policy)
			TFS服务器通过自动构建,实现软件生成和发布的自动化过程,这一直是TFS系统中非常重要的一个功能模块.近年来发布的TFS版本,都在自动化构建方面大幅增强了相应的功能.在这篇博客里我主要总结TFS 20 ... 
- Machine Learning Algorithms Study Notes(2)--Supervised Learning
			Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ... 
- String 对象是不动态改变长度的
			在java里 String 对象是不动态改变长度的,只有先转化成StringBuffer,插入处理后在转回. 如 StringBuffer str = new StringBuffer("T ... 
- QC学习一:Windows环境中Quality Center 9.0安装详解
			一.安装前准备 1.安装环境:windows XP.SQL Server2005 2.准备安装文件:Quality Center 9.0 (qc10以上,包括qc10,qc只支持安装在服务器操作系统上 ... 
- JAVA常用的XML解析方法
			转并总结自(java xml) JAVA常用的解析xml的方法有四种,分别是DOM,JAX,JDOM,DOM4j xml文件 <?xml version="1.0" enco ... 
- BZOJ 1066 【SCOI2007】 蜥蜴
			Description 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外. 每行每列中相邻石柱的距离为$1$,蜥蜴的跳跃距离是d,即蜥蜴可以跳 ... 
- AngularJS中的按需加载ocLazyLoad
			欢迎大家讨论与指导 : ) 初学者,有不足的地方希望各位指出 一.前言 ocLoayLoad是AngularJS的模块按需加载器.一般在小型项目里,首次加载页面就下载好所有的资源没有什么大问题.但是当 ... 
