博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struct tm->time() localtime() gmtime()
阅读量:5036 次
发布时间:2019-06-12

本文共 2127 字,大约阅读时间需要 7 分钟。

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; /*从今年1月1日算起至今的天数,范围为0-365*/ int tm_isdst; /*日光节约时间的旗标*/ };

time()

编程语言C语言中的函数。
头文件:time.h
函数原型:time_t time(time_t * timer)
功能:
获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从CUT(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数。然后调用将time_t所表示的CUT时间转换为本地时间(我们是+8区,比CUT多8个小时)并转成struct tm类型,该类型的各数据成员分别表示年月日时分秒。
补充说明:time函数的原型也可以理解为 long time(long *tloc),即返回一个long型整数。因为在time.h这个头文件中time_t实际上就是:
#ifndef _TIME_T_DEFINEDtypedef long time_t; /* time value */#define _TIME_T_DEFINED /* avoid multiple defines of time_t */ #endif
即long。
#include 
#include
#include
int main(void){time_t timer;//time_t就是long int 类型 struct tm *tblock; timer = time(NULL);//这一句也可以改成time(&timer); tblock = localtime(&timer); printf("Local time is: %s\n",asctime(tblock)); return 0; }
 
localtime()
功 能: 把从1970-1-1零点零分到当前时间系统所偏移的秒数时间转换为日历时间 。
说明:此函数获得的tm 的时间,是已经进行过时区
转化为本地时间。
用 法: struct tm *localtime(const time_t *clock);
返回值:返回指向tm  的 .tm结构体是time.h中定义的用于分别存储时间的各个量(年月日等)的结构体.
需要注意的是年份加上1900,月份加上1。
#include
#include
int main(){struct tm *t;time_t tt;time(&tt); t=localtime(&tt); printf("%4d年%02d月%02d日 %02d:%02d:%02d\n",t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec); return 0; }

gmtime()

头文件:time.h
原型:struct tm *gmtime(long *clock);
功能:
把日期和时间转换为格林威治(GMT)时间的函数。将参数timep 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。
此函数返回的时间日期
未经时区转换,而是UTC时间。
返回值
返回结构tm代表目前UTC 时间
#include "stdio.h"#include "time.h" #include "stdlib.h" int main(void) { time_t t; struct tm *gmt, *area; tzset(); /* tzset()*/ t = time(NULL); area = localtime(&t); printf("Local time is: %s", asctime(area)); gmt = gmtime(&t); printf("GMT is: %s", asctime(gmt)); return 0; }

转载于:https://www.cnblogs.com/lcx4/p/4475908.html

你可能感兴趣的文章
JavaEE:Eclipse开发工具的相关使用和XML技术
查看>>
LR_问题_如何将场景中的用户设置为百分比形式
查看>>
OpenShift-OKD3.10基础环境部署
查看>>
工程师淘金:开发Android主攻四大方向
查看>>
ASP.NET MVC——Controller的激活
查看>>
javascript中Array对象
查看>>
SQLSERVER中查看谁占用了Buffer Pool
查看>>
lamp环境安装shell脚本
查看>>
ASP.NET MVC使用jQuery实现Autocomplete
查看>>
model中字段格式验证
查看>>
host路径
查看>>
查看linux 内存
查看>>
HTTP 状态码
查看>>
Ubuntu 14.10 下卸载MySQL
查看>>
练习题 求字符串是否为回文
查看>>
为了兼容性问题,本人一律淘汰不兼容如下三种浏览器的js
查看>>
RowFilter 对于已获取到的dataset进行过滤
查看>>
451. Sort Characters By Frequency
查看>>
第十五周总结
查看>>
java学习笔记-hibernate基础(1)
查看>>