将数组中的日期与javascript中的不同时区进行比较

时间:2016-12-08 08:59:07

标签: javascript date timezone

你好每个人都认为我在阵列2中存储了4个日期来自不同的时区,现在如果我想在javascript中找到maxdate和mindate那么任何人都可以告诉我我该怎么办?

谢谢。

1 个答案:

答案 0 :(得分:-1)

为了将日期与不同时区进行比较,您需要将每个日期转换为相同的时区(例如您的本地时区),并且所有日期都在同一时区,您将能够比较它们。

为此你有"日期构造函数" (新的日期())采取日期并将其转换为您当地的时区,在您拥有这一切之后,您需要做的就是做您的逻辑。

以下是一个例子:

var date1 = new Date("Wed Mar 25 2015 09:56:24 GMT+0900 (Tokyo Time)"); //new Date will take your time string in tokyo and convert it into your local time zone date and so on...
var date2 = new Date("Wed Mar 25 2015 09:56:24 GMT+0100 (W. Europe Standard Time)");
var date3 = new Date(Date.now());
var date4 = new Date(Date.now());

var array = [date1 , date2 ,date3 ,date4 ];

var maxDate = new Date(date1);
var minDate = new Date(date1);

for (var i =1 ; i<array.length ; i++){
     if (new Date(array[i]) > maxDate )
        maxDate = new Date(array[i]);

     if (new Date(array[i]) < minDate )
        minDate = new Date(array[i]);
}

alert(minDate.toString() + " " + maxDate.toString());

//Tokyo time is the earliest because is +09:00

//use minDate and maxDate here as you want.