javascript - 如何使用 JavaScript 中的 moment.js/Date 将 EST 时间数据转换为本地时间

标签 javascript jquery node.js date momentjs

var res=“03/19/2020 13:15:00”;//美国东部时间

当我转换为本地时区时

moment(moment(res.date, 'MM/DD/YYYY HH:mm:ss').utc()).local().format("MM DD YYYY HH:mm:ss")

我尝试了很多东西。但我不知道如何在 JavaScript 中将东部日期时间转换为本地日期时间。

最佳答案

大概 EST 是美国东部标准时间,即 GMT+5。该时区内的大多数地方也遵守夏令时,因此您可能需要确定要使用哪一组规则。偏移量应该与时间戳的其余部分一起传递,以将其作为错误源删除。

时区偏移通常表示为添加到 UTC 以获得本地时间的时间,尽管 ECMAScript(和其他编程语言)相反,即从 UTC 中减去时间以获得本地时间。

如果时间戳的偏移量已知,则可以将字符串解析为 UTC,然后应用偏移量,然后使用普通方法根据主机系统设置获取本地值,例如

// Offset in minutes, +ve east
function parseWithOffset(s, offset) {
  let b = s.split(/\D/);
  let d = new Date(Date.UTC(b[2], b[0]-1, b[1], b[3], b[4], b[5]));
  d.setUTCMinutes(d.getUTCMinutes() - offset);
  return d;
}

let s = '03/19/2020 13:15:00'; // US EST
let d = parseWithOffset(s, -300);
console.log(d.toString());

关于javascript - 如何使用 JavaScript 中的 moment.js/Date 将 EST 时间数据转换为本地时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60756559/

相关文章:

javascript - 使用 Electron-builder 构建 Electron 应用程序时如何包含本地可执行文件

javascript - 无法使用 NodeJS/Socket.io 在 HTML 文件中检索简单的广播消息

jquery - 简单的 jQuery 切换

javascript - 与jquery相关的输入值?

node.js - Azure DevOps Pipeline - React Js 应用程序构建在构建过程中失败(npm run build)

javascript - 自定义 OpenLayers 控件

javascript - 使用AJAX登录时让Chrome提示保存密码

javascript - 图表师 : empty space after stacked bars

javascript - 检测应用程序是否从页面加载

javascript - Google Apps 脚本 Web 应用程序刷新