我在做一个应用程序,遇到了这个问题,我认为比较日期会很容易,但事实并非如此。如果日期是同一年,则我在if中的条件会很好,但是如果值类似于以下给出的值,则结果不是变成true应该为false的结果。那么,如何正确比较我拥有的这种日期格式?

startDate.toLocaleDateString()的值为12/24/2016
endDate.toLocaleDateString()的值为01/03/2017

if(startDate.toLocaleDateString() > endDate.toLocaleDateString())
{
            //do this
}
else
{
     //do this
}

最佳答案

您可以直接比较Date,因为它使用了可比的EPOCH time


  创建一个表示单个时刻的JavaScript Date实例。 Date对象基于时间值,该时间值是自UTC 1970年1月1日以来的毫秒数。


if (startDate > endDate) {


它使用Date#valueOf


  valueOf()方法返回Date对象的原始值。


并返回


  UTC 1970年1月1日00:00:00与给定日期之间的毫秒数。

09-20 15:42