Moment.js show diff between 2 dates

后端 未结 3 1316
[愿得一人]
[愿得一人] 2020-12-24 13:11

I use moment(d, "YYYYMMDD").fromNow(); to get diff between date now and some date, but I would like to get without string "a few days ago

相关标签:
3条回答
  • 2020-12-24 13:24

    Moment.diff does exactly that.

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

    You can specify a unit:

    var a = moment([2007, 0, 29]);
    var b = moment([2007, 0, 28]);
    a.diff(b, 'days') // 1
    
    0 讨论(0)
  • 2020-12-24 13:30

    var before = moment('2017.02.12 09:00','YYYY.MM.DD HH:mm');
    var now = moment();
    
    console.log(
      moment(now - before)
      .format('D[ day(s)] H[ hour(s)] m[ minute(s)] s[ second(s) ago.]')
    );
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>

    0 讨论(0)
  • 2020-12-24 13:44

    If you want just to get the difference between two dates instead of a relative string just use the diff function.

    var date  = moment("20170101", "YYYYMMDD");
    var date7 = moment("20170108", "YYYYMMDD");
    var mins7 = moment("20170101 00:07", "YYYYMMDD HH:mm");
    var secs1 = moment("20170101 00:00:01", "YYYYMMDD HH:mm:ss");
    
    console.log(date7.diff(date, "days")    + "d"); // "7d"
    console.log(mins7.diff(date, "minutes") + "m"); // "7m"
    console.log(secs1.diff(date, "seconds") + "s"); // "1s"
    
    0 讨论(0)
提交回复
热议问题