JavaScript获取当前时区 时间转换 (实用)

原文出处:https://blog.csdn.net/u013992330/article/details/78625855

JavaScript获取当前时区:
new Date().getTimezoneOffset()
这样获取到的是与0时区的时间差(0时区减去当前所在时区,单位是分钟)

中国标准时间是以东八区为准,比0时区的时间要早8个小时,所以是-480,除以60就是所在时区, 即-8
代码如下:

ar nowTime = new Date();
var offset = nowTime.getTimezoneOffset()/60;

延伸阅读:js 时区对应的时间转换
js 各个时区时间转换

//得到标准时区的时间的函数
//参数i为时区值数字,比如北京为东八区则输进8,西5输入-5
function getLocalTime(i) { 
    if (typeof i !== 'number') return;
 
   var d = new Date(); 
    //得到1970年一月一日到现在的秒数 
    var len = d.getTime();
    
    //本地时间与GMT时间的时间偏移差(注意:GMT这是UTC的民间名称。GMT=UTC)
    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));

在此谢谢xuanxuan925,推荐的monent timezone,之前对时间的格式化一直都是使用monent,试了monent timezone,确实对于时区的时间转化很方便。 



 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值