【发布时间】:2017-06-17 06:49:26
【问题描述】:
我需要使用 node.js 或 JavaScript 以毫秒为单位将时间转换为特定时区。
我有一个 unix 时间“1497678894647”。我需要将其转换为 PDT、MDT、CDT、EDT、MST、EST 和 IST 当地时间。
我有以下代码示例。
var timezoneJS = require('timezone-js');
var PDT = new timezoneJS.Date('1497680592200', 'America/New_York');
var MDT = new timezoneJS.Date('1497680592200', 'America/Chihuahua');
var CDT = new timezoneJS.Date('1497680592200', 'America/Havana');
var EDT = new timezoneJS.Date('1497680592200', 'America/Detroit');
var MST = new timezoneJS.Date('1497680592200', 'America/Creston');
var IST = new timezoneJS.Date('1497680592200', 'Asia/Kolkata');
console.log("PDT --> ", dt);
console.log("MDT --> ", dt);
console.log("CDT --> ", dt);
console.log("EDT --> ", dt);
console.log("MST --> ", dt);
console.log("EST --> ", dt);
console.log("IST --> ", dt);
但是我得到了这样的输出
{ _useCache: false,
_tzInfo: {},
_day: NaN,
year: NaN,
month: NaN,
date: NaN,
hours: NaN,
minutes: NaN,
seconds: NaN,
milliseconds: NaN,
timezone: 'America/New_York',
_dateProxy: Invalid Date,
_timeProxy: NaN }
{ _useCache: false,
_tzInfo: {},
_day: NaN,
year: NaN,
month: NaN,
date: NaN,
hours: NaN,
minutes: NaN,
seconds: NaN,
milliseconds: NaN,
timezone: 'America/Los_Angeles',
_dateProxy: Invalid Date,
_timeProxy: NaN }
我需要这样打印
PDT --> Sat Jun 17 2017 11:46:54
MDT --> Sat Jun 17 2017 11:24:54
CDT --> Sat Jun 17 2017 11:45:54
EDT --> Sat Jun 17 2017 11:12:54
MST --> Sat Jun 17 2017 11:33:54
EST --> Sat Jun 17 2017 11:22:54
IST --> Sat Jun 17 2017 12:16:54
是否可以使用时区将 unix 时间戳转换为不同的本地时间?
【问题讨论】:
-
我很确定您需要将时间戳转换为日期字符串。来自文档 timezoneJS.Date(dt_str_tz, [tz])。因此,请尝试更改 123412341234 -> 10/31/2008 或您想要的任何日期。
-
你的时区列表有点奇怪,顺便说一句。您有纽约的 PDT,选择古巴的 CDT 等。如果您正在寻找美国的主要时区,通常选择的列表(从东到西)是:
America/New_York、America/Chicago、@987654326 @、America/Phoenix、America/Los_Angeles、America/Anchorage、Pacific/Honolulu。
标签: javascript node.js datetime timezone momentjs