簡體   English   中英

格式化日期時間特定時區

[英]format datetime specific timezone

我正在使用全球化來格式化每個區域的日期時間。

var Globalize = require('globalize');
var formatter = Globalize('en-US').dateFormatter();
formatter(new Date());

效果很好,但我想知道是否可以格式化特定時區的日期。 這樣,它將始終在本地計算機時區中格式化日期。 例如,假設我的計算機時區為PST。 我可以使用全球化來格式化EST中的日期嗎?

這里被盜

此解決方案通過使用getTimeOffset() (以分鍾為單位返回UTC時間與本地時間之間的時間差)的功能來查找給定位置的UTC時間偏移並將其更改為毫秒,然后從UTC執行計算以返回a不同時區的時間。

/** 
 * function to calculate local time
 * in a different city
 * given the city's UTC offset
 */
function calcTime(city, offset) {

// create Date object for current location
var d = new Date();

// convert to msec
// add local time zone offset
// get UTC time in msec
var utc = d.getTime() + (d.getTimezoneOffset() * 60000);

// create new Date object for different city
// using supplied offset
var nd = new Date(utc + (3600000*offset));

// return time as a string
return "The local time in " + city + " is " + nd.toLocaleString();
}

此解決方案可以使用,但以分鍾表示時區並調整UTC分鍾更為簡單。

請讓我知道這是否適合您!

javascript函數new date()基於調用該函數時的機器時間生成日期/時間戳。 因此,如果該功能是由位於阿拉斯加的計算機調用的,則它將基於該確切時間在阿拉斯加的當前時間生成日期/時間戳。

w3school.com對大多數與編碼相關的項目都有很好的參考。 您可以在此處找到問題的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM