
在Java中,如何获取不同时区的当前时间你知道这道题的正确答案应该如何回答吗背后的原理又是什么呢
然后,紧接着,我又提出了以下问题:
为什么以下代码无法得到美国时间。(在东八区的计算机上)
接下来,java课程培训机构就围绕这两个问题,来带领读者一起学习一下哪些和Java中的时间有关的概念。
时区
前面提到了时区,可能很多读者不知道什么是时区,先来简单介绍一下。
时区是地球上的区域使用同一个时间定义。以前,人们通过观察太阳的位置(时角)决定时间,这就使得不同经度的地方的时间有所不同(地方时)。1863年,首次使用时区的概念。时区通过设立一个区域的标准时间部分地解决了这个问题。
世界各个国家位于地球不同位置上,因此不同国家,特别是东西跨度大的国家日出、日落时间必定有所偏差。这些偏差就是所谓的时差。
为了照顾到各地区的使用方便,又使其他地方的人容易将本地的时间换算到别的地方时间上去。有关国际会议决定将地球表面按经线从东到西,划成一个个区域,并且规定相邻区域的时间相差1小时。在同一区域内的东端和西端的人看到太阳升起的时间最多相差不过1小时。当人们跨过一个区域,就将自己的时钟校正1小时(向西减1小时,向东加1小时)
接下来,本文就围绕这两个问题,来带领读者一起学习一下哪些和Java中的时间有关的概念。
时区
前面提到了时区,可能很多读者不知道什么是时区,先来简单介绍一下。
时区是地球上的区域使用同一个时间定义。以前,人们通过观察太阳的位置(时角)决定时间,这就使得不同经度的地方的时间有所不同(地方时)。1863年,首次使用时区的概念。时区通过设立一个区域的标准时间部分地解决了这个问题。
世界各个国家位于地球不同位置上,因此不同国家,特别是东西跨度大的国家日出、日落时间必定有所偏差。这些偏差就是所谓的时差。
为了照顾到各地区的使用方便,又使其他地方的人容易将本地的时间换算到别的地方时间上去。有关国际会议决定将地球表面按经线从东到西,划成一个个区域,并且规定相邻区域的时间相差1小时。在同一区域内的东端和西端的人看到太阳升起的时间最多相差不过1小时。当人们跨过一个区域,就将自己的时钟校正1小时(向西减1小时,向东加1小时
中国时区为东八区,用格林尼治标准时间区时代码表示为GMT+8。
延伸扩展东八区的来源
中国的时区,如果按照地理时区来划分,总共时包含了五个自然时区,东五区、东六去,东七区、东八区和东九区。但是,1949年中华人民共和国成立后,整个中国定立了统一的GMT+8时区,称为北京时间(或称作中国标准时间),所以,我们法定的中国时区也就是东八区。
确定东八区的意义
中国确立了东八区为我国的标准时区有着重大的意义,最大的意义在于符合我国基本的国情,方便全国统一管理,便于全国范围内的经济、文化、政治交流,减少国家运作成本,对国家的建设和发展有远大的战略意义。
北京是BJS;香港是HKG;
西铁城的光动电波表可接收中国、美国、欧洲、日本的标准时间电波信号并自动校对时间,同时拥有26个世界城市和UTC时间显示,佩戴者只需旋转城市名称刻度盘选择城市后,指针即刻切换到选中城市的当地时间。这26个城市包括:伦敦,巴黎,北京,莫斯科,雅典,迪拜,卡拉奇,德里,达卡,曼谷,东京,阿德莱德悉尼,努美阿,奥克来,檀香山,安克雷奇,洛杉矶,丹佛,芝加哥,纽约,圣地亚哥,里约热内卢,费尔南多,亚速尔群岛。
966区号是沙特阿拉伯。
世界各大城市所属行政区域常用电话区划号码,这些号码主要用于国内、国际长途电话接入。比如,中国大陆国际区号86,沙特阿拉伯区号0966、北京区号010、广州区号020等。而在使用国内长途电话时,区号前要加拨0。
多级汇接分级原则是设一个主国际接口局,结合长话流量和行政区划分为几个大区,每个大区设一个汇接中心,即一级交换中心;每个大区分为几个省区,每个省区设一个中心,即二级交换中心;
每个省区分为几个地区,在地区中心城市设中心,即三级交换中心,然后每个地区下面的县各设县中心,设四级交换中心;五级交换中心即为本地交换端局,一般为市话端局。
扩展资料:
区号的作用:在中国大陆拨打国内长途电话时,要加拨长途冠码0。例如,自上海拨长途电话至北京时,要先后拨长途冠码0、北京区号10、电话号码。
然而,自境外(包括香港、澳门)打电话至中国大陆时,不须拨长途冠码0。例如,欲自美国不靠总机直拨国际电话至中国北京时,要拨美国国际冠码011、中国国际区号86、北京区号10、电话号码。
参考资料来源:百度百科-区号
从中国往美国打电话,首先拨国际冠码00;然后拨国家码,美国国家码是1;然后是3位美国区号,美国不同地区区号不同;最后拨电话号码。例如,要打电话917-8681868,在国内的拨号顺序是:00-1-917-6861868。
简言之,拨打国际电话的一般顺序是:国际冠码-国际电话区号-国内电话区号-开放电话号码;国际冠码-国际电话区号-封闭电话号码。
国际电话区号,即国际电信联盟根据E164标准分配给各国或特殊行政区的代码。所有的号码都是前缀号,也就是说这些号码是用来“拨到”目的国家或特殊行政区。每一个国家还有一个前缀来“拨出”所在国家,这个前缀叫国际冠码。
扩展资料:
国际直拨电话号码组成如下:发话国的国际冠字+国家代码+地区代码+对方用户电话号码。
首先打国际冠字:拨叫国际、港澳台地区的电话,须先拨国际冠字00,使您的拨叫进入国际电话交换网。接着拨国家代码:国家代码是国际电联分配给各国和地区的代码,由一位、二位或三位数码组成,拨此代码就会使您的拨叫进入您所要的国家或地区的电话网。
再拨地区代码:地区代码是各国自行指定的城市代码,拨地区代码时,切勿再拨前面的长途冠字“0” 。再拨对方用户的电话号码。拨叫时连续拨号,中途不要停顿。
参考资料来源:百度百科-国际电话区号
北京属于东八区。
各地的标准时间为格林威治时间(GMT)加上 (+) 或减去 (-) 时区中所标的小时和分钟数时差。许多国家还采用夏令时(DST), 比如美国每年4月到9月实行夏令时,时间提前一个小时。
时差的计算方法:
两个时区标准时间(即时区数)相减就是时差,时区的数值大的时间早。比如中国是东八区(+8),美国东部是西五区(-5),两地的时差是13小时,北京比纽约要早13个小时;如果是美国实行夏令时的时期,相差12小时。
时区的计算方法:
用当地经度除以15后,再四舍五入为整数,这个整数就是当地的时区数。 比如:东经127度,按照上述方法计算后,得到8,因此东经127度属于东八区;而东经128度,按照上述方法计算后,得到9,因此东经128度属于东九区。
北京地处东经116度左右,除以15为773,故北京时区属于东八区。
附:世界标准时间表
标准时间代码 与GMT的偏移量 描述
NZDT +13:00 新西兰夏令时
IDLE +12:00 国际日期变更线,东边
NZST +12:00 新西兰标准时间
NZT +12:00 新西兰时间
AESST +11:00 澳大利亚东部夏时制
CST(ACSST) +10:30 中澳大利亚标准时间
CADT +10:30 中澳大利亚夏时制
SADT +10:30 南澳大利亚夏时制
EST(EAST) +10:00 东澳大利亚标准时间
GST +10:00 关岛标准时间
LIGT +10:00 澳大利亚墨尔本时间
CAST +9:30 中澳大利亚标准时间
SAT(SAST) +9:30 南澳大利亚标准时间
WDT(AWSST) +9:00 澳大利亚西部标准夏令时
JST +9:00 日本标准时间,(USSR Zone 8)
KST +9:00 韩国标准时间
MT +8:30 毛里求斯时间
WST(AWST) +8:00 澳大利亚西部标准时间
CCT +8:00 中国沿海时间(北京时间)
JT +7:30 爪哇时间
IT +3:30 伊朗时间
BT +3:00 巴格达时间
EETDST +3:00 东欧夏时制
CETDST +2:00 中欧夏时制
EET +2:00 东欧,(USSR Zone 1)
FWT +2:00 法国冬时制
IST +2:00 以色列标准时间
MEST +2:00 中欧夏时制
METDST +2:00 中欧白昼时间
SST +2:00 瑞典夏时制
BST +1:00 英国夏时制
CET +1:00 中欧时间
DNT +1:00 Dansk Normal Tid
FST +1:00 法国夏时制
MET +1:00 中欧时间
MEWT +1:00 中欧冬时制
MEZ +1:00 中欧时区
NOR +1:00 挪威标准时间
SET +1:00 Seychelles Time
SWT +1:00 瑞典冬时制
WETDST +1:00 西欧光照利用时间(夏时制)
GMT 0:00 格林威治标准时间
WET 0:00 西欧
WAT -1:00 西非时间
NDT -2:30 纽芬兰(新大陆)白昼时间
ADT -03:00 大西洋白昼时间
NFT -3:30 纽芬兰(新大陆)标准时间
NST -3:30 纽芬兰(新大陆)标准时间
AST -4:00 大西洋标准时间(加拿大)
EDT -4:00 (美国)东部夏令时
CDT -5:00 (美国)中部夏令时
EST -5:00 (美国)东部标准时间
CST -6:00 (美国)中部标准时间
MDT -6:00 (美国)山地夏令时
MST -7:00 (美国)山地标准时间
PDT -7:00 (美国)太平洋夏令时
PST -8:00 (美国)太平洋标准时间
YDT -8:00 Yukon夏令时
HDT -9:00 夏威仪/阿拉斯加白昼时间
YST -9:00 Yukon标准时
AHST -10:00 夏威仪-阿拉斯加标准时间
CAT -10:00 中阿拉斯加时间
NT -11:00 州时间(Nome Time)
IDLW -12:00 国际日期变更线,西边
获得经纬度后就相应的得到时间了!好像是我们项目就是用的这个时间。。。时间是unix的计算方法,就是1970年1月1日0点0分0秒到现在的秒数,用new Date(locationgetTime())就得到当前时间了,不过你得根据你的特殊情况进行判断计算了,可以再找找详细的资料,祝你好运~
1找到该国家在zoneinfo中的时区信息。
下载到最新 ,解压 tzdata201xtargz 后,在每个地区的 txt 文件中有城市的时区信息,搜索是否有您要添加的城市,则该时区可以添加;如果没有搜索到相关的国家或城市,则需要考虑使用别的城市的时区。
比如在africatxt中搜索 Nigeria,可以找到下面的内容:
# Nigeria
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Lagos 0:13:36 - LMT 1919 Sep
1:00 - WAT
这样可以看到,尼日利亚只有一个城市可以作为时区ID,这个ID就是Africa/Lagos。
2修改 packages/apps/Settings/res/xml- xx-xx/timezonesxml (xx-xx表示不同的语言和区域),添加下面的内容:
<!-- timezonesxml 用于在setting中增加一个时区设置项 -->
<timezone id=" Africa/Lagos ">Lagos</timezone>
3修改 framework/base/core/res/res/xml/time_zones_by_countryxml ,添加下面的内容
<!--time_zones_by_countryxml 这个用于自动匹配时区时使用,通过country code找一个时区 -->
<!-- Nigeria, 1:00 -->
<timezone code="ng"> Africa/Lagos </timezone>
<!-- 这里的code="ri"表示国家代码,比如中国对应cn,美国对应us,不清楚可以维基百科查询ISO_3166-1-->
这是添加一个时区的步骤,如果要添加多个时区,请重复或批量执行以上步骤。
以上就是关于java课程培训机构分享Java中的时间处理全部的内容,包括:java课程培训机构分享Java中的时间处理、中国时区是什么、西铁城手表中国时区代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)