时区
来源:互联网 发布:mac拷不进移动硬盘 编辑:程序博客网 时间:2024/04/30 02:44
1. 一些基本概念
时区
地球是自西向东自转,东边比西边先看到太阳,东边的时间也比西边的早。东边时刻与西边时刻的差值不仅要以时计,而且还要以分和秒来计算,这给人们带来不便。
为了克服时间上的混乱,1884年在华盛顿召开的一次国际经度会议(又称国际子午线会议)上,规定将全球划分为24个时区(东、西各12个时区)。规定英国(格林尼治天文台旧址)为中时区(零时区)、东1-12区,西1-12区。
以本初子午线为界,往西顺次称为西一区直至西十二区,向东为东一区至东12区。中国虽然跨越多个时区,统一使用北京所在的东八区作为中国的标准时间。
见http://www.timedate.cn/time/timezone.htm
GMT (Greenwich Mean Time) 格林威治时间
即本初子午线的时间,一般作为全球时间的基准参考时间。据说是以格林威治天文台命名的。(谁让那时候人家国家牛呢,要是中国制定规则的话没准就以中国时间为准了。)
UTC (Universal Time Coordinated) 世界标准时间或世界协调时间
协调世界时是以原子时秒长为基础,在时刻上尽量接近于世界时的一种时间计量系统。UTC时间和GMT时间其实是同一个时间,只不过UTC时间的单位是秒。定期会进行校准,校准的方式是发布闰秒,即有两个同样的秒。记住,UTC是GMT的以秒为单位的计时。
CST (China Standard Time) 中国标准时间
2. c语言实现
time_t time(time_t *t);
返回当前时刻自1970-01-01 00:00:00 +0000 (UTC)的秒数
将time_t的秒数转化成常规的年月日时分秒周的数据结构
struct tm *gmtime(const time_t *timep);
struct tm {
int tm_sec; /* seconds 0 - 59*/
int tm_min; /* minutes 0 - 59*/
int tm_hour; /* hours 0 - 23*/
int tm_mday; /* day of the month 1 - 31*/
int tm_mon; /* month 0 - 11*/
int tm_year; /* year ,since 1900*/
int tm_wday; /* day of the week 0 - 6*/
int tm_yday; /* day in the year 0 - 365*/
int tm_isdst; /* daylight saving time */
};
将常规的年月日时分秒周的数据结构转换成time_t的秒数
time_t mktime(struct tm *tm);
比较时间
double difftime(time_t time1, time_t time0);
获取本地时间,由于time()获取的是UTC时间,但UTC时间并不是本地时间,本地时间需在utc时间基础上通过时区计算才能得到
struct tm *localtime(const time_t *timep);
打印出时间
char * asctime(const struct tm * timeptr);
char * ctime(const time_t *timer);
参考:
1. https://wenku.baidu.com/view/87c8f6145f0e7cd1842536d9.html
2. http://blog.csdn.net/irwin_chen/article/details/8814676
阅读全文
0 0
- 时区
- 时区
- 时区
- 时区
- Ubuntu时区
- 时区转换
- 时区示意图
- ORACLE 时区
- 时区缩写
- 时区转换
- Oracle时区
- Unix 时区
- 时区设置
- linux时区
- 时区问题
- oracle-时区
- Django 时区
- 时区缩写
- 如何安装Navicat Premium?
- Android自定义控件之仿优酷菜单
- Lottie动画库使用方法详解 教程 示例
- 守护进程
- freemaker页面复选框全选与反选
- 时区
- Linux创建FTP服务器,添加用户,设置用户独立目录的过程及遇到的问题
- Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type: Input (known types: Input )
- [笔记]: 欧拉函数线性筛法
- js实现修改参数数据
- PHP中interface与 implements 关键字
- sed替换
- PHP 变量及常量
- Protobuf 的 proto3 与 proto2 的区别