Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 格式化日期时间特定时区_Javascript_Date Formatting_Javascript Globalize - Fatal编程技术网

Javascript 格式化日期时间特定时区

Javascript 格式化日期时间特定时区,javascript,date-formatting,javascript-globalize,Javascript,Date Formatting,Javascript Globalize,我正在使用globalize按区域设置datetime的格式 var Globalize = require('globalize'); var formatter = Globalize('en-US').dateFormatter(); formatter(new Date()); 它工作得很好,但我想知道我是否可以格式化特定时区的日期。这样,它总是在本地机器时区中格式化日期。 例如,假设我的机器时区是PST。我可以使用globalize在EST中格式化日期吗 从 此解决方案通过使用get

我正在使用globalize按区域设置datetime的格式

var Globalize = require('globalize');
var formatter = Globalize('en-US').dateFormatter();
formatter(new Date());
它工作得很好,但我想知道我是否可以格式化特定时区的日期。这样,它总是在本地机器时区中格式化日期。 例如,假设我的机器时区是PST。我可以使用globalize在EST中格式化日期吗

此解决方案通过使用getTimeOffset()(返回UTC时间和本地时间之间的时间差,单位为分钟)函数查找给定位置的UTC时间偏移量并将其更改为毫秒,然后从UTC执行计算以返回不同时区的时间

/** 
 * 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对大多数编码相关项目都有很好的参考。您可以找到问题的答案。

库中是否有关于如何设置时区的文档?时区不是一种格式,它(通常)是与UTC的偏移量,可以用许多不同的方式表示。常见的是非标准缩写词,如“EST”和“WAST”,军事指示符,如“K”和“Z”,以及数字表示法,如“+05:30”。这并不能回答问题,也不是最好的参考。我刚刚开始习惯堆栈溢出。你能解释为什么w3schools不被认为是一个好的参考吗?我经常使用它们来学习新事物。如果实现的toLocaleString方法包括时区,这实际上不起作用,因为它将显示主机时区,而不是调整到的时区。他可以使用不同的返回方法来显示时区,假设存在时区,对吗?如果是这样的话,那么我想这解决了他的一半问题……是的,虽然用分钟表示时区和调整UTC分钟要简单得多。这似乎期望时区以十进制小时表示,例如5.5,而它们通常以±hh:hh或±hhmm格式表示(例如+05:30)。公平地说,我将编辑我的原始注释以反映这一点。