原文出处:
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,确实对于时区的时间转化很方便。
原文出处:https://blog.csdn.net/u013992330/article/details/78625855JavaScript获取当前时区:new Date().getTimezoneOffset()这样获取到的是与0时区的时间差(0时区减去当前所在时区,单位是分钟)中国标准时间是以东八区为准,比0时区的时间要早8个小时,所以是-480,除以60就是所在时区, 即-8代码如下:ar nowTime = new Date();var offset = nowTime.get
var offset = 16;
var targetTime = new Date(date);
var utc = targetTime.getTime() + (-28800000);
var actualTime = new Date(utc + (3600000 * offset));
var year = actualTime.getFullYear();
var month = (actualTime.getMo.
//格林威治时间(毫秒值)
new Date().getTime() + new Date().getTimezoneOffset()*60*1000
//北京时间(毫秒值)
new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000
这样做的好处是,无论客户端的时区是什么,都可以转化
然后想在获取到当地的时间,把获取到的时区传给下面这个方法里面
function getLocalTime(timezone) {
if (typeof timezone !== "number") {
return new Date();
var d = new Date();
var len =
时间与
时间戳相互
转换1.2
时间 (JS常用
时间类型)1.2.1 GMT-格林尼治标准时1.2.2 UTC- 协调世界时1.2.3 中国标准
时间1.2.4 ISO8601标准
时间格式1.2.5
时间戳(timestamp)1.
时间转换为
时间戳2.
时间戳
转换为
时间3.
时间yyyy-MM-dd HH:mm:ss的含义
1.2
时间 (JS常用
时间类型)
1.2.1 GMT-格林尼治标准时
1.2.2 UTC- 协调世界时
1.2.3 中国标准
时间
JS中new date()直接输出便是以下格式:
近段时间,由于某种原因我一直在研究js不同地区不同时区之间的时间换算。北京时间早上9点,在其他地区可能已经是夜晚了。
我们都知道,国内统一使用的都是北京时间,但在国外,不仅因时区不同而有时间差异,同一地区还存在夏令时冬令时的时间差异,如果程序上涉及时间上的计算,要千万小心了。
一、将当前所在地区时间转换为UTC时间
二、将某一固定时间转换为UTC时间
三、将UTC时间转换为当前所在地区时间
四、两...
function getLocalTime(i) {
//参数i为
时区值数字,比如北京为东八区则输入8,西5输入-5,现默认东八区北京
时间
var i=i?parseFloat(i):8;
//得到本地
时间
var d = new Date();
//得到1970年一月...
var d=new Date();
localTime = d.getTime(),
localOffset=d.getTimezoneOffset()*60000, //获得当地时间偏移的毫秒数,这里可能是负数
这将创建一个Date对象并将其赋值给变量currentDate。该对象将包含当前日期和时间的信息。您可以使用该对象的方法来获取日期和时间的各个部分,例如:
```javascript
var year = currentDate.getFullYear(); // 获取当前年份
var month = currentDate.getMonth(); // 获取当前月份(0-11,0代表一月)
var day = currentDate.getDate(); // 获取当前日期
var hour = currentDate.getHours(); // 获取当前小时数(0-23)
var minute = currentDate.getMinutes(); // 获取当前分钟数(0-59)
var second = currentDate.getSeconds(); // 获取当前秒数(0-59)
您可以根据需要使用这些变量来构建您需要的日期和时间格式。