格式化日期时间特定时区
format datetime specific timezone
我正在使用全球化来格式化每个语言环境的日期时间。
var Globalize = require('globalize');
var formatter = Globalize('en-US').dateFormatter();
formatter(new Date());
效果很好,但我想知道是否可以为特定时区设置日期格式。这样,它总是在本地机器时区格式化日期。
例如,假设我的机器时区是 PST。我可以使用全球化来格式化 EST 中的日期吗?
盗自 here
此解决方案通过使用 getTimeOffset()(其中 return 是 UTC 时间与本地时间之间的时差,以分钟为单位)函数来查找 UTC给定位置的时间偏移并将其更改为毫秒,然后执行从 UTC 计算到 return 不同时区的时间。
/**
* 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()
根据调用该函数时的机器时间生成一个 date/time 标记。因此,如果该函数由位于阿拉斯加的机器调用,它将根据当时阿拉斯加的当前时间生成一个 date/time 戳记。
w3school.com 对大多数与编码相关的项目都有很好的参考。您可以找到问题的答案 here.
我正在使用全球化来格式化每个语言环境的日期时间。
var Globalize = require('globalize');
var formatter = Globalize('en-US').dateFormatter();
formatter(new Date());
效果很好,但我想知道是否可以为特定时区设置日期格式。这样,它总是在本地机器时区格式化日期。 例如,假设我的机器时区是 PST。我可以使用全球化来格式化 EST 中的日期吗?
盗自 here
此解决方案通过使用 getTimeOffset()(其中 return 是 UTC 时间与本地时间之间的时差,以分钟为单位)函数来查找 UTC给定位置的时间偏移并将其更改为毫秒,然后执行从 UTC 计算到 return 不同时区的时间。
/**
* 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()
根据调用该函数时的机器时间生成一个 date/time 标记。因此,如果该函数由位于阿拉斯加的机器调用,它将根据当时阿拉斯加的当前时间生成一个 date/time 戳记。
w3school.com 对大多数与编码相关的项目都有很好的参考。您可以找到问题的答案 here.