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中各种日期和时间信息的确切表示方法。格式串中的其他字符原样放进串中。
格式命令列在下面,它们是区分大小写的。
转载于:https://www.cnblogs.com/wainiwann/archive/2012/11/28/2792133.html
C程序中对时间的处理——time库函数详解转相关推荐
- python程序如何循环_在Python的一段程序中如何使用多次事件循环详解
背景 本文主要给大家介绍了关于在Python一段程序中使用多次事件循环的相关内容,我们在Python异步程序编写中经常要用到如下的结构 import asyncio async def doAsync ...
- python怎么背景实现循环_在Python的一段程序中如何使用多次事件循环详解
背景 本文主要给大家介绍了关于在Python一段程序中使用多次事件循环的相关内容,我们在Python异步程序编写中经常要用到如下的结构 import asyncio async def doAsync ...
- Java程序中Doc(文档)注释详解
许多人写代码时总不喜欢写注释,每个程序员如此,嘿嘿,我也一样 不过,话说回来,该写还是要写哦!没人会喜欢一个不写注释的程序员,当然,也没有一个喜欢写注释的程序员,今天,我们就来说说Java注释之一-- ...
- java drawimage 参数_小程序中canvas的drawImage方法参数使用详解
最近在开发小程序,海报生成的过程中,要在carvas中不断去添加图片,对小程序的drawImage参数不是很明确,这次解惑. 示例代码 有三个版本的写法: drawImage(imageResourc ...
- python进程线程处理模块_python程序中的线程操作 concurrent模块使用详解
一.concurrent模块的介绍 concurrent.futures模块提供了高度封装的异步调用接口 ThreadPoolExecutor:线程池,提供异步调用 ProcessPoolExecut ...
- c语言中延时时间计算,能精确计算C语言延时程序中延时时间的小工具(转)
能精确计算C语言延时程序中延时时间的小工具 Emu51Form是一个软仿真计时器 具体使用方法为: 1.打开 keil\tools,ini 文件,在它的c51栏中加入 AGSI9=Emu51Form. ...
- python爬取图片-Python爬取网页中的图片(搜狗图片)详解
前言 最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 本地下载 我们这里以sogou作为爬取的对象. 首先 ...
- crashdumpandroid_Android 中Crash时如何获取异常信息详解及实例
Android 中Crash时如何获取异常信息详解 前言: 大家都知道,Android应用不可避免的会发生crash,无论你的程序写的多完美,总是无法完全避免crash的发生,可能是由于Android ...
- PX4飞控中利用EKF估计姿态角代码详解
PX4飞控中利用EKF估计姿态角代码详解 PX4飞控中主要用EKF算法来估计飞行器三轴姿态角,具体c文件在px4\Firmware\src\modules\attitude_estimator_ekf ...
最新文章
- linux虚拟磁盘管理pe大小6,Linux下磁盘的高级管理——LVM逻辑卷管理
- 如何保持在QA这条路上, 而不会想转换到RD去呢?
- php的yii框架开发总结2
- C#通过修改注册表改变IE默认选项
- 台式电脑怎么看计算机型号,怎么查看台式机的型号
- FileOutputStreamTest
- 如何制定客户留存策略_企业如何制定数字化转型策略?
- JavaScript基础(六)面向对象
- 一分钟教你解决前端分流问题
- JPA mappedBy、JoinColumn、FetchType.LAZY和FetchType.EAGER介绍
- 2018年海峡两岸光电展将在台北举办
- js判断是否是微信扫描进入
- 4070ti和3080性能差多少 rtx4070ti和rtx3080区别对比
- 简单的使用一下增强for循环
- 可扩展的交互式可视化框架,用于衡量新闻中的性别偏见
- python signal处理
- history路由下,Whitelabel Error Page错误
- 服务器上引用不了js文件,pdf.js不通过服务器如何像普通js文件引入使用
- 不成熟的男人的爱情观——知乎上另一个关于不成熟男人的见解
- 字符串哈希--聪聪的加法等式
热门文章
- Hadoop 2.4.1 设置问题小结【原创】
- 【网络小说推荐】纨绔才子
- 又一个网页下载者木马
- html页面关闭执行函数,html页面调用js文件里的函数报错--方法名 is not defined处理方法...
- 浙江新增python课程_今年9月起 浙江八年級新增Python編程課程
- HBase的Row Key设计
- python 3.x 不再支持MySQLdb 模块
- (11)FPGA跨时钟域问题导致数据偶尔异常(学无止境)
- AD7606实际采样率输出数据量偏小
- 箭头 运算符_Java 运算符