2017-08-29 100 views
0

我需要做一个条件,我测试日期选择器的日期是否已经通过。我需要使用Date.now()来比较它和今天的日期。这会返回毫秒。如何将此JavaScript日期选择器日期转换为毫秒?

,当我从我的对象我的日志日期选择日期 - listOfEventsObject [I] .date - 它打印在这种形式:

**2017-08-15** . 

while date.now() outputs this: **1503904013430** 

我怎么能转换日期选取器日期,以看看时间已经过去了?

UPDATE它无法使用getTime(); 当我使用getTime();它会从阵列中删除所有内容。我只需要传递数组中剩余的日期。

我的代码:

function getPostsSuccess (listOfEventsObject){ /*callback which passes 
                  array to loop*/ 

     for (var i in listOfEventsObject) { 

       if(listOfEventsObject[i].date.getTime() < Date.now()){ 

         this.listOfEvents.push(listOfEventsObject[i]); 

}//close if 

       }//close loop 



      }//close callback 
+2

'新的日期( '2017年8月15日')的getTime()' – lux

+0

你甚至都不需要*的getTime *:'新的日期(“2017年8月15日') RobG

+0

Datepicker在JavaScript中以这种扭曲的方式实现,任何有关这个问题都是人类的福音。Upvoting this question .. – Siddharth

回答

3

您可以使用日期对象的.getTime()方法来获取可以比较Date.now()毫秒。

var before = new Date(2000, 1, 1, 0, 0, 0, 0); 
 

 
var now = Date.now(); 
 

 
var after = new Date(2100, 1, 1, 0, 0, 0, 0); 
 

 
console.log("before is before now: %s", before.getTime() < now); 
 

 
console.log("after is after now: %s", after.getTime() > now);

+0

请参阅我的更新 – Spilot

+1

@Spilot:你的问题中没有足够的信息知道为什么会这样。 – spanky

+0

我不确定我还能包括什么。如果其他人有建议,我仍然需要他们。 – Spilot