当javascript中的系统首选项和用户首选项不同时,会出现时区转换问题

timezone convertion issue when system preferences and user preferences are different in javascript

本文关键字:首选项 问题 转换 时区 javascript 系统 用户      更新时间:2023-09-26

当我的系统首选项为亚洲/加尔各答时,日期不正确,用户首选项输入日期为美国/洛杉矶,两者不同

日期是正确的,当我的系统偏好&用户偏好相同

jsfiddle示例:http://jsfiddle.net/uq99udc9/728/

//system preference Asia/Kolkata
// input date America/Los_Angeles --- 2016-11-09 02:00:00
var date = new Date("2016-11-09 02:00:00");
var gmtdate = date.toGMTString(); -- converting into GMT
$("#divThai").text(moment.tz(gmtdate,'Asia/Kolkata'));
$("#divUsa").text(moment.tz(gmtdate,'America/Los_Angeles'));

谁来帮我解决这个问题?

提前致谢

试试这个:

// Parse the date in Los Angeles timezone.
const date = moment.tz('2016-11-09 02:00:00', 'America/Los_Angeles');
// Output the date.
console.log(date.toString());
// Output the date in Asia/Kolkata timezone.
console.log(date.tz('Asia/Kolkata').toString());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.2/moment-with-locales.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.9/moment-timezone-with-data.min.js"></script>