[英]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.