JS date 只能返回本机时区吗?

JS 调整时区偏移后还是返回GMT+0800 (中国标准时间),我想将时区改为太平洋时区如:GMT-0700 (Pacific Daylight Time)。请问大家该如何处理呢?

`<script>

var timezone = -7;  //洛杉矶市区

var d = new Date(); //当前时间

var len = d.getTime();

var offset = d.getTimezoneOffset() * 60000;

var utcTime = len + offset;

var cdate = new Date(utcTime + 3600000 * timezone);

console.log(cdate);

console.log(d);

</script>`

实际输出结果为:

想要的结果为:
Wed Oct 07 2020 06:47:00 GMT-0700 (Pacific Daylight Time)
Wed Oct 07 2020 21:47:00 GMT+0800 (中国标准时间)

请问需要如何处理呢?

回答

Date 对象并没提供覆写时区的操作,所以你在直接输出 Date 对象时,他会自动把时间格式化为 系统时区,所以,你可以考虑给 Date 按照 java 的风格拓展一个 setTimezone 的操作,然后再重写一个 toString 函数,根据 setTimezone 的值,格式化为对应的时区显示时间...

不然就 moment ,省事..

以上是 JS date 只能返回本机时区吗? 的全部内容, 来源链接: utcz.com/a/55423.html

回到顶部