gpt4 book ai didi

javascript - 如何使用时区将以毫秒为单位的时间转换为不同的本地时间

转载 作者:行者123 更新时间:2023-11-30 15:15:00 25 4
gpt4 key购买 nike

我需要使用 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 时间戳转换为不同的本地时间?

最佳答案

我尝试运行 timezone-js 包,但在 npm.runkit.com 中不断出现错误,所以我决定给你看一个流行的例子moment.js .它还有一个子模块moment-timezone:

npm install -S moment-timezone

而且使用起来很简单!

const moment = require('moment-timezone');

let timestamp = moment(1497678894647);
let NYTime = timestamp.tz('America/New_York').format('ddd MMM D Y HH:mm:ss');
console.log(NYTime);

哪些日志:

"Sat Jun 17 2017 01:54:54"

您可以在 npm.runkit 上查看示例 here .

编辑:

因此,根据您的 console.log 语句,您可以将变量传递给它们

var moment = require('moment-timezone');
moment.defaultFormat = 'ddd MMM D Y HH:mm:ss';

var PDT = moment('1497680592200').tz('America/New_York').format();
var MDT = moment('1497680592200').tz('America/Chihuahua').format();
var CDT = moment('1497680592200').tz('America/Havana').format();
var EDT = moment('1497680592200').tz('America/Detroit').format();
var MST = moment('1497680592200').tz('America/Creston').format();
var IST = moment('1497680592200').tz('Asia/Kolkata').format();

关于javascript - 如何使用时区将以毫秒为单位的时间转换为不同的本地时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44601676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com