关于utc时间与格林威治时间(linux上获取系统时区及代码)
关于utc时间与格林威治时间
协调世界时,又称世界统一时间,世界标准时间,国际协调时间,简称UTC。它从英文“Coordinated Universal Time”/法文“Temps Universel Cordonné”而来。
.格林尼治标准时(GMT)
经过格林威治老天文台本初子午线的时间便被称为世界时
关于时区
全球24个时区的划分
相较于两地时间表,可以显示世界各时区时间和地名的世界时区表(World Time),就显得精密与复杂多了,通常世界时区表的表盘上会标示着全球24个时区的城市名称,但究竟这24个时区是如何产生的?过去世界各地原本各自订定当地时间,但随着交通和电讯的发达,各地交流日益频繁,不同的地方时间,造成许多困扰,于是在西元1884年的国际会议上制定了全球性的标准时,明定以英国伦敦格林威治这个地方为零度经线的起点(亦称为本初子午线),并以地球由西向东每24小时自转一周360°,订定每隔经度15°,时差1小时。而每15°的经线则称为该时区的中央经线,将全球划分为24个时区,其中包含23个整时区及180°经线左右两侧的2个半时区。就全球的时间来看,东经的时间比西经要早,也就是如果格林威治时间是中午12时,则中央经线15°E的时区为下午1时,中央经线30°E时区的时间为下午2时;反之,中央经线15°W的时区时间为上午11时,中央经线30°W时区的时间为上午10时。以台湾为例,台湾位于东经121°,换算后与格林威治就有8小时的时差。如果两人同时从格林威治的0°各往东、西方前进,当他们在经线180°时,就会相差24小时,所以经线180°被定为国际换日线,由西向东通过此线时日期要减去一日,反之,若由东向西则要增加一日。
格林威治标准时间GMT
十七世纪,格林威治皇家天文台为了海上霸权的扩张计画而进行天体观测。1675年旧皇家观测所(Old Royal Observatory) 正式成立,到了1884年决定以通过格林威治的子午线作为划分地球东西两半球的经度零度。观测所门口墙上有一个标志24小时的时钟,显示当下的时间,对全球而言,这里所设定的时间是世界时间参考点,全球都以格林威治的时间作为标准来设定时间,这就是我们耳熟能详的「格林威治标准时间」(Greenwich Mean Time,简称G.M.T.)的由来,标示在手表上,则代表此表具有两地时间功能,也就是同时可以显示原居地和另一个国度的时间。
世界协调时间UTC
多数的两地时间表都以GMT来表示,但也有些两地时间表上看不到GMT字样,出现的反而是UTC这3个英文字母,究竟何谓UTC?事实上,UTC指的是Coordinated Universal Time- 世界协调时间(又称世界标准时间、世界统一时间),是经过平均太阳时(以格林威治时间GMT为准)、地轴运动修正后的新时标以及以「秒」为单位的国际原子时所综合精算而成的时间,计算过程相当严谨精密,因此若以「世界标准时间」的角度来说,UTC比GMT来得更加精准。其误差值必须保持在0.9秒以内,若大于0.9秒则由位于巴黎的国际地球自转事务中央局发布闰秒,使UTC与地球自转周期一致。所以基本上UTC的本质强调的是比GMT更为精确的世界时间标准,不过对于现行表款来说,GMT与UTC的功能与精确度是没有差别的。
夏日节约时间DST
所谓「夏日节约时间」Daylight Saving Time(简称D.S.T.),是指在夏天太阳升起的比较早时,将时钟拨快一小时,以提早日光的使用,在英国则称为夏令时间(Summer Time)。这个构想于1784年由美国班杰明·富兰克林提出来,1915年德国成为第一个正式实施夏令日光节约时间的国家,以削减灯光照明和耗电开支。自此以后,全球以欧洲和北美为主的约70个国家都引用这个做法。目前被划分成两个时区的印度也正在商讨是否全国该统一实行夏令日光节约时间。欧洲手机上也有很多GSM系统的基地台,除了会传送当地时间外也包括夏令日光节约时间,做为手机的时间标准,使用者可以自行决定要开启或关闭。值得注意的是,某些国家有实施「夏日节约时间」的制度,出国时别忘了跟随当地习惯在表上调整一下,这可是机械表没有的功能设计哦!
CST时间
CST却同时可以代表如下 4 个不同的时区:
Central Standard Time (USA) UT-6:00
Central Standard Time (Australia) UT+9:30
China Standard Time UT+8:00
Cuba Standard Time UT-4:00
可见,CST可以同时表示美国,澳大利亚,中国,古巴四个国家的标准时间。
linux 如何获得时区
date +%z
获取时区及值
+ 表示东半区 -表示西半区
date
获取时区的名字缩写
char cl_cmd[20] = "date +%z";
FILE *fp = popen(cl_cmd, "r"); char cl_time_fmt[32] = {0}; fread(cl_time_fmt, sizeof(cl_time_fmt), 1, fp); pclose(fp); char cl_fmt[3] = {0}; int time_zone = 0; if (isdigit(cl_time_fmt[1]) && isdigit(cl_time_fmt[2])) { time_zone = (cl_time_fmt[1] - '0') * 10 + (cl_time_fmt[2] - '0'); time_zone *= 4; } else { printf("Not right time zone fmt:[%s]", cl_time_fmt); return 0; }
关于utc时间与格林威治时间(linux上获取系统时区及代码)相关推荐
- C语言之本地时间与格林威治时间互相转换(2种相互转换方法)
格林威治时间转换显示 #include <stdio.h> #include <string.h> #include <time.h>typedef struct ...
- linux获得系统时间 c,linux c 获取系统时间
#include main() { time_t timep; time (&timep); printf("%s",asctime(gmtime(&timep)) ...
- linux获得系统时间 c,linux c 获取系统时间的方法
比如获取当前年份: /* 获取当前系统时间 暂时不使用 int iyear = 0; int sysyear = 0; time_t now; struct tm *timenow; time(&am ...
- 美国洛杉矶时间转 格林威治时间
/** 美国洛杉矶时间转 格林威治时间 */ function toTimeZone($src, $from_tz = 'America/Los_Angeles', $to_tz = 'Etc/GMT ...
- c 获取当前时间插入oracle数据库,Oracle如何获取系统当前时间等操作实例,c++获取系统时间...
Oracle如何获取系统当前时间等操作实例,c++获取系统时间 获取系统当前时间 date类型的 select sysdate from dual; char类型的 select to_char(sy ...
- Linux get cpu number,Linux上获取CPU Core个数的实现
Linux上获取CPU Core个数的实现 可以通过多种手段取得CPU Core的个数,如: 1) 调用系统提供的函数get_nprocs(),可以在头文件sys/sysinfo.h中发现它 2) 借 ...
- linux时间调整为dst,Linux上系统时间函数、DST等相关有关问题总结
Linux下系统时间函数.DST等相关问题总结 1. 内核中时间的基本类型: 在Linux内核中,常见的时间类型有以下两种:系统时间(system time)和实时时间(real time),其实,方 ...
- linux连接建立的时间,用timedatectl在Linux中检查当前时区及更改时区(创建符号链接来更改时区)...
本文介绍如何在Linux操作系统中设置或更改时区的方法,可以使用timedatectl,包括通过创建符号链接来更改时区. 前言 时区是具有相同标准时间的地理区域,通常,时区是在操作系统的安装过程中设置 ...
- linux下获取系统时间的方法
可以用 localtime 函数分别获取年月日时分秒的数值. Linux下获得系统时间的C语言的实现方法: 1. 可以用 localtime 函数分别获取年月日时分秒的数值. #include< ...
最新文章
- 妙用QTP F1帮助功能
- 3D目标检测2021
- Linux下如何启用MySQL数据库远程访问
- Python高级特性:列表生成式
- Dubbo(三)之Spring zookeeper集成
- jax-rs jax-ws_在JAX-RS中使用@Context [第1部分]
- RabbitMQ 构建高可靠集群架构
- c语言指针跨函数使用内存
- URI 、URL 和 URN
- 10.Hello World 的 Java 项目创建和项目配置文件讲解
- 到爱尔兰敲代码 / Come, Coding in Ireland
- itext7相关使用
- 网页中插入背景音乐代码(html)
- 利用canvas制作水印(兼容移动端哦)
- MapReduce中Shuffle机制的学习案例——房屋租赁信息
- 通用路由封装协议--GRE的简单配置
- Linux进阶 | Docker部署nginx的web服务,VOLUME的使用详解,实现数据持久化!
- 【python】LOFTER抽奖程序
- cp文件时,文件名带有空格无法正常cp怎么办?
- 第4天:python的数据类型、用户交互以及基本运算符