比较/条件语句toLocaleDateString()

时间:2017-01-26 08:46:01

标签: javascript date

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

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

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

2 个答案:

答案 0 :(得分:2)

您可以直接比较Date,因为它使用的EPOCH time具有可比性。

  

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

if (startDate > endDate) {

它使用Date#valueOf

  

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

并返回

  

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

答案 1 :(得分:0)

 if (date1.compareTo(date2) > 0) {
        System.out.println("Date1 is after Date2");
    } else if (date1.compareTo(date2) < 0) {
        System.out.println("Date1 is before Date2");
    } else if (date1.compareTo(date2) == 0) {
        System.out.println("Date1 is equal to Date2");
    } else {
        System.out.println("How to get here?");
    }