比较Jquery中的不同时区日期

时间:2013-11-04 04:29:25

标签: javascript jquery

如何比较不同时区的日期?

例如

x = "2013-12-02T10:10:17-0400" // (timezone EST) 

并将此日期与当前日期进行比较

var d = new Date(); // timezone(PST)

检查x< d?

3 个答案:

答案 0 :(得分:1)

在JavaScript中处理日期和时间时,我通常使用 Moment.js ,这是一个完全用于此目的的库。

其网址为http://momentjs.com/

然后你可以用这一行简单地解析给定的字符串:

// Parse the given datetime
var mydate = moment("2013-12-02T10:10:17-0400");

您还可以比较两个不同的moment值:

// Compare given datetime with the current datetime
if (moment("2013-12-02T10:10:17-0400") > moment()) {
    // ...
}

或者您可以将其转换为常规JavaScript Date对象:

// Parse given datetime and convert to Date object
var mydate = moment("2013-12-02T10:10:17-0400").toDate();
// Compare to current datetime
if (mydate > (new Date())) {
    // ...
}

请注意,一元+运算符也可以像您期望的那样使用moment个对象。因此+moment()输出的内容与+(new Date())相同。

它也有很好的记录,Moment.js docs page有大量的例子和有用的信息。

答案 1 :(得分:0)

  1. 更好地将任何日期转换为公共时区(最好有UTC)
  2. 现在将日期时间转换为毫秒
  3. 比较毫秒
  4. 希望你理解

答案 2 :(得分:0)

使用此JavaScript库来操作不同时区的日期:https://github.com/mde/timezone-js

它使用TZ数据库:http://en.wikipedia.org/wiki/Tz_database