Moment.js,自定义日期格式和与回调的差异倒计时

时间:2017-07-27 09:40:26

标签: javascript momentjs

我正在使用Moment.js。我尝试查看文档,但可以找到一个解决方案,帮助我在这种情况下。

function countDown(scheduler){
  var time = moment().local("fi").format("L hh:mm:ss");

  console.log("Current time: "+time);
  console.log("Scheduler: "+scheduler);
  console.log("Difference: "+(time-scheduler));

}

Current time: 27.07.2017 12:23:21
Scheduler: 27.07.2017 12:16:31
Difference: NaN

我正在尝试区分时间调度程序之间的区别,然后将值返回为分钟,它应倒数到0然后触发回调函数

我不知道如何将该时间解析为一个对象。我知道在得到不同之前我必须这样做。

编辑3:

  function countDown(scheduler){

    var time = moment();
    var schedulerMoment = moment(scheduler, "L hh:mm:ss");

    console.log("Current time: " + time.local("fi").format("L hh:mm:ss"));
    console.log("Scheduler: "+scheduler);
    console.log("Difference: "+(time.diff(schedulerMoment, "minutes")));
  }
  • 当前时间:07/27/2017 01:23:00
  • 日程安排:27.07.2017 12:55:14
  • 差异:NaN

2 个答案:

答案 0 :(得分:0)

支持使用自定义格式创建时刻对象

moment(time, format)

你也可以在几分钟内得到不同的

time.diff(scheduler, 'minutes')

所以你的代码看起来像这样

function countDown(scheduler){
    var time = moment();
    var schedulerMoment = moment(scheduler, "DD.MM.YYYY hh:mm:ss");

    console.log("Current time: " + time.local("fi").format("L hh:mm:ss"));
    console.log("Scheduler: "+scheduler);
    console.log("Difference: "+(time.diff(schedulerMoment, "minutes")));
}

答案 1 :(得分:0)

您可以尝试以下代码: -

function countDown(schedule){ 
  var time = moment().local("fi").format("L hh:mm:ss");
  var schedule = new Date(schedule)
  var momentschedule = moment(schedule);
  console.log("Current time: "+time);
  console.log("Scheduler: "+schedule);
  var duration = moment.duration(momentschedule.diff(time));
 var minutes = duration.asMinutes();

  console.log("Difference: "+(minutes));
}
countDown("27.07.2017 12:16:31");//pass schedule date string