如何查找当前日期和另一个日期之间的时差

时间:2019-05-03 13:04:20

标签: javascript momentjs

我正在寻找一种方法,仅使用以秒为单位的js时刻来查找两个日期之间的时差。 我想将当前日期与我从数据库中读取的日期进行比较。

例如:

//current time
var current_time= moment().format('YYYY-MM-DD HH:mm:ss');      
//date from sql query
var starting_date=moment(element.start_date).format('YYYY-MM-DD HH:mm:ss');
// print the dates as they are now
console.log(current_time);
console.log(starting_date);

结果:

2019-07-02 18:00:11
2019-05-03 15:59:29

我只想找到这两个日期之间的差异(以秒为单位)。

我尝试使用类似于我发现的以下示例的方法使其工作:

var a = moment([2007, 0, 29]);
var b = moment([2007, 0, 28]);
a.diff(b, 'days')

但这没用...

    var current_time= moment().format('YYYY-MM-DD HH:mm:ss');      
    var starting_date=moment(element.start_date).format('YYYY-MM-DD HH:mm:ss');
      current_time.diff(starting_date, 'seconds');

崩溃

有什么想法要实现吗?

1 个答案:

答案 0 :(得分:0)

您可以使用a.unix() - b.unix()

a.diff(b)将在millisecond中返回diff,您可以将div划分为1000以获得秒。

var a = moment('2019-07-02 18:00:11', 'YYYY-MM-DD HH:mm:ss');
var b = moment('2019-05-03 15:59:29', 'YYYY-MM-DD HH:mm:ss');
second = a.unix() - b.unix();  

console.log('diff with second:' + second);


secondbymin = a.diff(b);
console.log('diff with milisecond: ' + secondbymin);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>