JS一个根据时区输出时区时间的函数
做项目遇到的坑爹问题,需要根据时区获取时区中轴线的时间。为此搜了好久网上都没什么JS的代码描述到这一方面,最后自己翻了下高中地理才写了个函数出来。

此图可以看出来,全球分为了0时区,东西1-11区,第12时区。下面就是我写的JS的根据时区输出时间的函数:
<!DOCTYPE html>
<html> <head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>根据时区取得时区时间</title>
<meta name="Blog" content="http://www.cnblogs.com/manfredHu/">
<meta name="Author" content="manfredHu">
</head> <body>
<script type="text/javascript">
//得到标准时区的时间的函数
function getLocalTime(i) {
//参数i为时区值数字,比如北京为东八区则输进8,西5输入-5
if (typeof i !== 'number') return;
var d = new Date();
//得到1970年一月一日到现在的秒数
var len = d.getTime();
//本地时间与GMT时间的时间偏移差
var offset = d.getTimezoneOffset() * ;
//得到现在的格林尼治时间
var utcTime = len + offset;
return new Date(utcTime + * i);
}
console.log("*******************东区时间************************************");
console.log("零时区-伦敦时间:" + getLocalTime());
console.log("东一区-柏林时间:" + getLocalTime());
console.log("东二区-雅典时间:" + getLocalTime());
console.log("东三区-莫斯科时间:" + getLocalTime());
console.log("东四区-时间:" + getLocalTime());
console.log("东五区-伊斯兰堡时间:" + getLocalTime());
console.log("东六区-科伦坡时间:" + getLocalTime());
console.log("东七区-曼谷时间:" + getLocalTime());
console.log("东八区-北京时间:" + getLocalTime());
console.log("东九区-东京时间:" + getLocalTime());
console.log("东十区-悉尼时间:" + getLocalTime());
console.log("东十二区-斐济时间:" + getLocalTime());
console.log("*******************西区时间************************************");
console.log("西十区-斐济时间:" + getLocalTime(-));
console.log("西九区-阿拉斯加时间:" + getLocalTime(-));
console.log("西八区-太平洋时间(美国和加拿大):" + getLocalTime(-));
console.log("西七区-山地时间(美国和加拿大):" + getLocalTime(-));
console.log("西六区-中部时间(美国和加拿大):" + getLocalTime(-));
console.log("西五区-东部时间(美国和加拿大):" + getLocalTime(-));
console.log("西四区-大西洋时间(加拿大):" + getLocalTime(-));
console.log("西三区-巴西利亚时间:" + getLocalTime(-));
</script>
</body> </html>
这里用到了getTime函数获取1970年1月1日午夜到现在的时间差,配合上现在本地与GMT时间的差来求得GMT时间的标准值。也就是函数里面的utcTime变量。
最后附上结果图:

点击查看原文:原文地址
JS一个根据时区输出时区时间的函数的更多相关文章
- YTU 2435: C++ 习题 输出日期时间--友元函数
2435: C++ 习题 输出日期时间--友元函数 时间限制: 1 Sec 内存限制: 128 MB 提交: 1069 解决: 787 题目描述 设计一个日期类和时间类,编写display函数用于 ...
- C++ 习题 输出日期时间--友元函数
Description 设计一个日期类和时间类,编写display函数用于显示日期和时间.要求:display函数作为类外的普通函数,分别在Time和Date类中将display声明为友元函数.在主函 ...
- 问题 D: C++ 习题 输出日期时间--友元函数
题目描述 设计一个日期类和时间类,编写display函数用于显示日期和时间.要求:display函数作为类外的普通函数,分别在Time和Date类中将display声明为友元函数.在主函数中调用dis ...
- PHP中关于时间(戳)、时区、本地时间、UTC时间等的梳理
PHP中关于时间(戳).时区.本地时间.UTC时间等的梳理 在PHP开发中,我们经常会在时间问题上被搞糊涂,比如我们希望显示一个北京时间,但是当我们使用date函数进行输出时,却发现少了8个小时.几乎 ...
- PHP中关于时间、时区、本地时间、UTC时间、GMT时间、时间戳等知识的梳理
在PHP开发中,我们经常会在时间问题上被搞糊涂,比如我们希望显示一个北京时间,但是当我们使用date函数进行输出时,却发现少了8个小时.几乎所有的php猿类都必须对php中几个重要的时间转换等方法进行 ...
- ubuntu server设置时区和更新时间
ubuntu server设置时区和更新时间 今天测试时,发现时间不对,查了一下时区: data -R 结果时区是:+0000 我需要的是东八区,这儿显示不是,所以需要设置一个时区 一.运行 ...
- 时区,GMT时间,UTC时间,UNIX时间戳
秒 秒是一个时间基本单位.一天24小时,一小时60分,一分钟60秒,这来自于秒的定义--1秒的时间间隔为平均太阳日[1]的1⁄86400.到了20世纪中叶,人们发现地球自转的时间并不是恒定的,于是在1 ...
- Java不同时区(timezone)之间时间转换
最近出现一个问题是这样的:我们的系统在国外打印的日志时间由于时差关系和国内不一致,看起来不方便,希望国外的日志和国内保持一致,即:需要对不同时区的时间做转换调整,统一为国内时间. 一.关于时区的一些概 ...
- DOS下如何同时显示时区日期和时间
DOS下如何同时显示时区日期和时间 Echo %Date:~0,4%-%Date:~5,2%-%Date:~8,2% %Time:~0,2%:%Time:~3,2% 不显示周几 Echo %Date: ...
随机推荐
- mysql更新一个表里的字段等于另一个表某字段的值
update a left join c on a.id = c.id set a.body = c.c1 where a.id=c.id; update zcat as z left join zc ...
- CSS3 transforms 3D翻开
R T L B <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...
- Windows 下 tail 查看日志命令工具分享
以前在公司时服务器上面可以实现tail 命令查看程序运行日志,感觉相当不错,上网查了下这些命令是linux 下的,还好有好心人开发了一个可以在Windows下的运行的小工具,来给分享一下: 使用方法: ...
- HTML中的IE条件注释
IE条件注释是一种特殊的HTML注释,这种注释只有IE5.0及以上版本才能理解.比如普通的HTML注释是: <!--This is a comment--> 而只有IE可读的IE条件注释是 ...
- Java中Properties类的操作
知识学而不用,就等于没用,到真正用到的时候还得重新再学.最近在看几款开源模拟器的源码,里面涉及到了很多关于Properties类的引用,由于Java已经好久没用了,而这些模拟器大多用Java来写,外加 ...
- 用 VeraCrypt 加密闪存盘
导读 很多安全专家偏好像 VeraCrypt 这类能够用来加密闪存盘的开源软件,是因为可以获取到它的源代码.要是你需要在 Windows 系统,苹果的 OS X 系统或者 Linux 系统上加密以及访 ...
- Linux and the Unix Philosophy (Linux/Unix设计思想)
http://www.iwangzheng.com/ 大约30年前,当美国人边开着大型轿车边享受着其他国家民众的羡慕目光时,大众汽车却在美国开展了一项主题为“小即是美”的广告营销活动.那时,美国人对大 ...
- Leetcode 之Convert Sorted Array to Binary Search Tree(54)
思路很简单,用二分法,每次选中间的点作为根结点,用左.右结点递归. TreeNode* sortedArrayToBST(vector<int> &num) { return so ...
- HLG2035广搜
Diablo Time Limit: 1000 MS Memory Limit: 65536 K Total Submit: 42(21 users) Total Accepted: 23(20 us ...
- /lib /usr/lib /usr/local/lib区别
昨天问我/usr/lib 和/usr/local/lib 我仅记得一个是系统的,一个是用户的,于是今天查了查,有两篇文章介绍的不错,usr 很多人都认为是user缩写,其实不然,是unix syste ...