Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将服务器时间转换为nodejs中任何给定的本地时间_Javascript_Node.js_Server_Utc_Timezone Offset - Fatal编程技术网

Javascript 将服务器时间转换为nodejs中任何给定的本地时间

Javascript 将服务器时间转换为nodejs中任何给定的本地时间,javascript,node.js,server,utc,timezone-offset,Javascript,Node.js,Server,Utc,Timezone Offset,这是我在服务器端nodejs中运行以进行转换的代码 convertNowToTimezone = (localOffset) => { let d = new Date(); let millis = d.getTime() + (d.getTimezoneOffset() * 60000); //convert server local time to UTC millisec d.setTime(millis - (localOffset * 60000)); //conv

这是我在服务器端nodejs中运行以进行转换的代码

convertNowToTimezone = (localOffset) => {
  let d = new Date();
  let millis = d.getTime() + (d.getTimezoneOffset() * 60000); //convert server local time to UTC millisec
  d.setTime(millis - (localOffset * 60000)); //convert UTC millisec to required local time
  return d;
}
localOffset为-330(IST offset),这将产生4min的差异


如何正确处理这个问题?

我建议使用
moment
在javascript中处理日期

您可以使用

const moment=require('moment-timezone');
矩().tz(“UTC”).format();
矩().tz(“美国/洛杉矶”).format();
console.log(矩().tz(“UTC”).format());
console.log(矩().tz(“美国/洛杉矶”).format()

JS直截了当:

const dateISOString = '2019-10-03T02:45:02'; // UTC server time or --> new Date()
const aest = new Date(new Date(dateISOString).toLocaleString('en-AU', { timeZone: 'Australia/Sydney' }));
console.log("aest.toISOString(): " + aest.toISOString());

我遇到了这个问题,但我不想为一个实用程序函数添加依赖项。如果您的问题是4分钟的差异,那么我所说的问题是您的服务器时间不同步,您不需要添加
momentjs
momentjs
是我在javascript中处理日期的建议。