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() * 60000;
        //得到现在的格林尼治时间
        var utcTime = len + offset;
        return new Date(utcTime + 3600000 * i);
    }
    console.log("*******************东区时间************************************");
    console.log("零时区-伦敦时间:" + getLocalTime(0));
    console.log("东一区-柏林时间:" + getLocalTime(1));
    console.log("东二区-雅典时间:" + getLocalTime(2));
    console.log("东三区-莫斯科时间:" + getLocalTime(3));
    console.log("东四区-时间:" + getLocalTime(4));
    console.log("东五区-伊斯兰堡时间:" + getLocalTime(5));
    console.log("东六区-科伦坡时间:" + getLocalTime(6));
    console.log("东七区-曼谷时间:" + getLocalTime(7));
    console.log("东八区-北京时间:" + getLocalTime(8));
    console.log("东九区-东京时间:" + getLocalTime(9));
    console.log("东十区-悉尼时间:" + getLocalTime(10));
    console.log("东十二区-斐济时间:" + getLocalTime(12));
    console.log("*******************西区时间************************************");
    console.log("西十区-斐济时间:" + getLocalTime(-10));
    console.log("西九区-阿拉斯加时间:" + getLocalTime(-9));
    console.log("西八区-太平洋时间(美国和加拿大):" + getLocalTime(-8));
    console.log("西七区-山地时间(美国和加拿大):" + getLocalTime(-7));
    console.log("西六区-中部时间(美国和加拿大):" + getLocalTime(-6));
    console.log("西五区-东部时间(美国和加拿大):" + getLocalTime(-5));
    console.log("西四区-大西洋时间(加拿大):" + getLocalTime(-4));
    console.log("西三区-巴西利亚时间:" + getLocalTime(-3));
    </script>
</body>

</html>

这里用到了getTime函数获取1970年1月1日午夜到现在的时间差,配合上现在本地与GMT时间的差来求得GMT时间的标准值。也就是函数里面的utcTime变量。

最后附上结果图:

点击查看原文:原文地址

时间: 2024-10-13 21:54:58

JS一个根据时区输出时区时间的函数的相关文章

js 一个程序运行的时间计算

js 一个程序运行的时间计算 console.time(timeName) console.timeEnd(timeName) MDN 释义 你可以启动一个计时器(timer)来跟踪某一个操作的占用时长.每一个计时器必须拥有唯一的名字,页面中最多能同时运行10,000个计时器. 当以此计时器名字为参数调用 console.timeEnd() 时,浏览器将以毫秒为单位,输出对应计时器所经过的时间 console.time('x') for(var i=0; i<100000; i++){ } co

一个简单的判断抢购时间是否到达的js函数

原型函数,功能很简单,找到时钟的id,计算数值,到达抢购时间时执行任务. function nwt() {var str=$('#deal_expiry_timer_e3cdcd2a').text(); var out=str.match(/\d+/g);console.log(out); var h=parseInt(out[0]),m=parseInt(out[1]),s=parseInt(out[2]); console.log(h+'#'+m+'#'+s);var calc=h*3600

ubuntu/centos更改时区并同步系统时间

分享点小经验.之所以写这个文档是因为在做jenkins自动化发布代码的时候.svn不能获取到最新的源码.原因在于svn获取源码有两种方式:1.通过系统时间生成版本号:2.通过HEAD 默认就是时间.所以需要同步jenkins和svn的系统时间.又因为我用的svn是在ubuntu的系统上.ubuntu默认应该是南非的时区.所以同步的时间肯定和centOS的不一样.又牵扯到了修改系统的时区 此操作适用Ubuntu CentOS 1.查看时区: [[email protected] ~]# date

CentOS7 修改默认时区为 北京时间

首先同步时间 yum install -y ntpdate ntpdate -u cn.pool.ntp.org 然后设置中国时区(北京时间) timedatectl set-timezone Asia/Shanghai 重启OS reboot 原文地址:https://www.cnblogs.com/comexchan/p/10781522.html

c# 输出不同时间的格式

C#时间/日期格式大全,C#时间/日期函数大全 有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢? 我们要用到: DateTime.ToString的方法(String, IFormatProvider) using System; using System.Globalization; String format="D"; DateTime date=DataT

js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScript使用push方法添加一个元素到数组末 JavaScript数组函数unshift、shift、pop、push使用

push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会依次添加到数组的末尾. 该函数属于Array对象,所有主流浏览器均支持该函数. 语法 array.push( item1 [,items... ] )参数 参数 描述item1 任意类型添加到当前数组末尾处的元素.items 可选参数/任意类型要添加到当前数组末尾处的其他项,可以有多个.注意:如果添加的元素类型为数组类型(Array),仍然会被当作一个元素看待,只是这个元素是数组类型而已.如果要合并两个数组,请使

[转]PHP时区/MySql时区/Linux时区

本文转自:https://blog.csdn.net/watermelonmk/article/details/82669062 问题背景:手头上有个国外的项目,为了所谓的国际化,得将时区修改至[美国纽约]时区.一开始想这个问题的时候觉得十分easy,理所当然是不是只要我将服务器的时间改成[美国纽约]时区就行了.然而实际上对一个项目而言,影响时间的是开发环境以及选择的数据库管理系统. 所以我们需要改的是 php的时区/MySql的时区. 一.修改php时区 需要到配置文件php.ini 无则添加

JavaScript的屏幕输出及时间函数

Js屏幕输出 重定向页面输出: 更改输出流,如果在加载时使用则会正常排序,如果在HTML加载完成后使用,如点击事件,则会全部覆盖原HTML的内容. 1 <script> 2 //参数为输出内容 3 document.write("dongxiaodong<br/>东小东"); 4 </script> 弹框网页: 可以实现打开一个类似于提示栏窗口网页. window.open("https://www.cnblogs.com/dongxiao

JS打印和报表输出

JS打印和报表输出2008-07-15 22:16一打印: 转自:http://hi.baidu.com/afei0211/blog/item/20523955ca8bebc2b745ae98.html (1) 在实际应用中!特别是一些公司需要报表输出和打印!这个时候我们就会用到JS的打印和报表输出功能!当然打印很简单就是window.print();你也可以在按钮的onclick事件中写上return print()可以实现打印效果!这个时候打印你会发现打印出来的是整个页面,包裹着网站的log