比较Javascript和时区中的日期

比较Javascript和时区中的日期,javascript,date,datetime,timezone,Javascript,Date,Datetime,Timezone,当使用、=、>=和比较Javascript中的日期时,时间戳字符串表示的时区部分会像您所期望的那样被考虑在内,当您将其转换为JavascriptDate对象时:内部值是一个简单的标量,标准化为。因此,在比较Date对象时,不需要特殊的时区处理: var d1 = new Date(Date.parse("Mon, 25 Dec 1995 13:30:00 +0430")); var d2 = new Date(Date.parse("Mon, 25 Dec 1995 13:30:00 GMT")

当使用、=、>=和比较Javascript中的日期时,时间戳字符串表示的时区部分会像您所期望的那样被考虑在内,当您将其转换为Javascript
Date
对象时:内部值是一个简单的标量,标准化为。因此,在比较
Date
对象时,不需要特殊的时区处理:

var d1 = new Date(Date.parse("Mon, 25 Dec 1995 13:30:00 +0430"));
var d2 = new Date(Date.parse("Mon, 25 Dec 1995 13:30:00 GMT"));
print("d1:", d1);
print("d2:", d2);
if (d1<d2) {
    print("d1 is less then d2");
} else if (d1>d2) {
    print("d1 is greater then d2");
} else {
    print("d1 equals to d2");
}
[见]


如果比较时间戳的字符串表示形式,您很可能会遇到麻烦。

我认为这个问题可能会对您有所帮助:JavaScript日期中没有时区。因此,不,它不会用于比较。您提到的
=
运算符不进行比较,而是赋值。另一方面,。请注意,
==
日期
对象不起作用expect@Bergi谢谢你指点我!
d1: Mon Dec 25 1995 09:00:00 GMT+0000
d2: Mon Dec 25 1995 13:30:00 GMT+0000
d1 is less then d2