C语言中time_t数据类型详细介绍
来源:互联网 发布:许冠杰光荣引退 知乎 编辑:程序博客网 时间:2024/05/16 10:56
包含文件:<time.h>
#ifndef __TIME_T
#define __TIME_T /* 避免重复定义 time_t*/
typedef long time_t; /* 时间值time_t 为长整型的别名*/
#endif
既然time_t实际上是长整型,到未来的某一天,从一个时间点(一般是1970年1月1日0时0分0秒)到那时的秒数(即日历时间)超出了长整形所能表示的数的范围怎么办?对time_t数据类型的值来说,它所表示的时间不能晚于2038年1月18日19时14分07秒。为了能够表示更久远的时间,一些编译器厂商引入了64位甚至更长的整形数来保存日历时间。比如微软在Visual C++中采用了__time64_t数据类型来保存日历时间,并通过_time64()函数来获得日历时间(而不是通过使用32位字的time()函数),这样就可以通过该数据类型保存3001年1月1日0时0分0秒(不包括该时间点)之前的时间。
在time.h头文件中,我们还可以看到一些函数,它们都是以time_t为参数类型或返回值类型的函数:
double difftime(time_t time1, time_t time0);
time_t mktime(struct tm * timeptr);
time_t time(time_t * timer);
char * asctime(const struct tm * timeptr);
char * ctime(const time_t *timer);
此外,time.h还提供了两种不同的函数将日历时间(一个用time_t表示的整数)转换为我们平时看到的把年月日时分秒分开显示的时间格式tm:
struct tm * gmtime(const time_t *timer);
struct tm * localtime(const time_t * timer);
通过查阅MSDN,我们可以知道Microsoft C/C++ 7.0中时间点的值(time_t对象的值)是从1899年12月31日0时0分0秒到该时间点所经过的秒数,而其它各种版本的Microsoft C/C++和所有不同版本的Visual C++都是计算的从1970年1月1日0时0分0秒到该时间点所经过的秒数。
0 0
- C语言中time_t数据类型详细介绍
- C语言中time_t数据类型详细介绍
- C语言中time_t数据类型详细介绍
- C语言中time_t数据类型详细介绍
- C语言中time_t数据类型详细介绍
- C语言中time_t数据类型详细介绍
- C语言中time_t数据类型详细介绍
- C语言中time_t数据类型详细介绍
- C语言中time_t数据类型详细介绍
- C语言中time_t数据类型详细介绍
- 操作系统大型实验进展(5)-----C/C++语言中time_t数据类型详细介绍
- linux改变文件权限&C语言中time_t数据类型
- C语言中time_t详解
- IOS开发时间格式转换之──C语言中time_t数据类型转为NSString类型
- c 语音中time_t 的介绍
- C语言中数据类型
- C语言详细介绍----初识C语言
- C语言中函数指针的详细介绍
- 渤芹色徊崩伐芑指套趴骖庠洌迈择此送辆濮峄层凯盒漂
- 向前一跪----北漂第一年
- 黑马程序员—C学习笔记—三种方法实现两数交换
- SYSAUX表空间中WRI$_OPTSTAT_HISTGRM_HISTORY等历史统计信息表较大问题
- Android 定时器AlarmManager生命周期
- C语言中time_t数据类型详细介绍
- Codeforces Round #222 (Div. 1) B - Preparing for the Contest
- C#将子线程附加在当前线程之后执行
- 第三周 项目5-数组做数据成员(1)
- Cellular Networks vs Custom M2M Networks – Who will win in the IoT space?
- KVC/KVO
- 1111好的
- 决策树——ID3算法的java实现
- 反思