Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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 使用时区JS进行JS时区转换_Javascript_Timezone - Fatal编程技术网

Javascript 使用时区JS进行JS时区转换

Javascript 使用时区JS进行JS时区转换,javascript,timezone,Javascript,Timezone,我正在尝试使用时区js转换时区,并根据区域获得正确的时间。我使用下面的线程作为参考。 但是,当我在构造函数中设置时间并更改时区时,它会显示相同的时间 我无法获得基于分区的转换时间。我试着跟着 var dt = new timezoneJS.Date("2013/07/02 18:59:00 +0000", 'Asia/Singapore'); alert('This is time call ' + dt.getTime() + dt.getTimezone()); dt.setTimez

我正在尝试使用时区js转换时区,并根据区域获得正确的时间。我使用下面的线程作为参考。

但是,当我在构造函数中设置时间并更改时区时,它会显示相同的时间

我无法获得基于分区的转换时间。我试着跟着

var dt = new timezoneJS.Date("2013/07/02 18:59:00 +0000", 'Asia/Singapore'); 
alert('This is time call ' + dt.getTime()  + dt.getTimezone());
dt.setTimezone("America/Argentina/Mendoza");
alert('This is new time call ' + dt.getTime()  + dt.getTimezone());
两者都显示时间为1372791540000。我有什么遗漏吗



谢谢马特的回答。那确实给了我日期。但是,我肯定错过了使用这个库的概念。我的理解是,一旦我给构造函数一个时间和区域,它将自动调整对象中的UTC,下次我更改区域时,它将根据区域为我提供正确的时间

e、 g.-
var dt=新时区日期(“2002/07/08 18:59:00+0000”,“亚洲/新加坡”)
这给了我2002-07-09 02:59:00
因此,它将第一个参数(日期)作为UTC,并相应地调整时间。这是正确的行为吗

然后
dt.setTimezone(“美国/阿根廷/门多萨”)
;=>2002-07-08 15:59:00
getTime()
自1970年1月1日起将始终返回毫秒UTC。将时间表示为单个整数时没有时区

在中,您将发现以下示例作为证明:

var dtA = new timezoneJS.Date(2007, 9, 31, 10, 30, 'America/Los_Angeles');
var dtB = new timezoneJS.Date(2007, 9, 31, 12, 30, 'America/Chicago');
// Same timestamp
dtA.getTime(); => 1193855400000
dtB.getTime(); => 1193855400000
对于特定于时区的输出,请尝试使用
.toString()

getTime()
将始终返回自1970年1月1日以来的毫秒。将时间表示为单个整数时没有时区

在中,您将发现以下示例作为证明:

var dtA = new timezoneJS.Date(2007, 9, 31, 10, 30, 'America/Los_Angeles');
var dtB = new timezoneJS.Date(2007, 9, 31, 12, 30, 'America/Chicago');
// Same timestamp
dtA.getTime(); => 1193855400000
dtB.getTime(); => 1193855400000

对于特定于时区的输出,请尝试
.toString()

谢谢Matt的回答。那确实给了我日期。但是,我肯定错过了使用这个库的概念。我的理解是,一旦我给构造器一个时间和区域,它将自动调整对象中的UTC,下次我更改区域时,它将根据区域为我提供正确的时间。日期的各个部分(年、月、日、小时、分/秒)或其字符串表示形式,将相对于时区指定的本地时间。整数表示的日期将始终从UTC开始,无论时区如何。请注意,同样的UTC时间戳在洛杉矶是10:30,但在芝加哥是12:30。更改时区不会更改UTC值-如果更改了,则表示时间上的不同时刻。这只会改变你对当地的看法。谢谢马特的回答。那确实给了我日期。但是,我肯定错过了使用这个库的概念。我的理解是,一旦我给构造器一个时间和区域,它将自动调整对象中的UTC,下次我更改区域时,它将根据区域为我提供正确的时间。日期的各个部分(年、月、日、小时、分/秒)或其字符串表示形式,将相对于时区指定的本地时间。整数表示的日期将始终从UTC开始,无论时区如何。请注意,同样的UTC时间戳在洛杉矶是10:30,但在芝加哥是12:30。更改时区不会更改UTC值-如果更改了,则表示时间上的不同时刻。它只是改变了你对当地的看法。