【问题标题】:How do I convert this javascript date picker date to milliseconds? [duplicate]如何将此 javascript 日期选择器日期转换为毫秒? [复制]
【发布时间】:2017-08-29 19:39:48
【问题描述】:

我需要做一个条件来测试来自日期选择器的日期是否已经过去。我需要使用 Date.now() 将它与今天的日期进行比较;返回毫秒。

当我从我的对象中记录日期选择器日期时 - 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

【问题讨论】:

  • new Date('2017-08-15').getTime()
  • 你甚至不需要 getTimenew Date('2017-08-15') &lt; Date.now(),或者如果 listOfEventsObject[i].date 返回一个 Date 对象,listOfEventsObject[i].date &lt; Date.now() .
  • Datepicker 在 javascript 中以如此扭曲的方式实现,任何有关这方面的问题都是对人类的福音.. 支持这个问题..

标签: javascript date datepicker datetime-conversion


【解决方案1】:

您可以使用日期对象的.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);

【讨论】:

  • 请看我的更新
  • @Spilot:您的问题中没有足够的信息来了解为什么会这样。
  • 我不确定我还能包括什么。如果其他人有建议,我仍然需要他们。
  • 我们需要查看您的数据。除此之外,您需要使用典型的调试措施来解决此问题,这至少包括使用 console.log() 记录您的值,以直观地说明比较未给出预期结果的原因。
  • 不需要getTime,小于运算符将日期强制为数字。
猜你喜欢
  • 2018-08-21
  • 1970-01-01
  • 2019-12-05
  • 2011-06-08
  • 1970-01-01
  • 2023-04-06
  • 2019-12-24
  • 1970-01-01
相关资源
最近更新 更多