Javascript 比较两个日期Angularjs

Javascript 比较两个日期Angularjs,javascript,angularjs,Javascript,Angularjs,我目前正在写一篇文章,要求我计算时间差,例如1月22日发生了一件事,今天是1月27日,所以我想比较这两个日期并显示“5天前”。我将事件日期作为时间戳格式的json数据获取。关于如何将其与今天的日期进行比较并显示“days ago”逻辑的任何线索以及它的功能 用法: moment().diff(Moment|String|Number|Date|Array); 例如: var a = moment([2007, 0, 29]); var b = moment([2007, 0, 28]); va

我目前正在写一篇文章,要求我计算时间差,例如1月22日发生了一件事,今天是1月27日,所以我想比较这两个日期并显示“5天前”。我将事件日期作为时间戳格式的json数据获取。关于如何将其与今天的日期进行比较并显示“days ago”逻辑的任何线索

以及它的功能

用法:

moment().diff(Moment|String|Number|Date|Array);
例如:

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

只需将脚本包含在index.html中(或以其他方式包含它们),然后使用常规依赖项注入将
时刻
包含在控制器中。

您可以执行类似于计算日期差的操作:

var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds
var today = new Date();
var secondDate = new Date(2016,01,27);

var diffDays = Math.round(Math.abs((today.getTime() - secondDate.getTime())/(oneDay)));
function DateDiff () {
    return {
      diff: diff,
    };

    function diff (date1, date2) {
      return dateDiff(date1 - date2);
    }

    function dateDiff (ms) {
      var d, h, m, s, data;
      data = {};
      s = Math.floor(ms / 1000);
      m = Math.floor(s / 60);
      s = s % 60;
      h = Math.floor(m / 60);
      m = m % 60;
      d = Math.floor(h / 24);
      h = h % 24;
      data.days = d;
      data.hours = h;
      data.minutes = m;
      data.seconds = s;
      return data;
    }
  }
console.log(DateDiff.diff(Date1_object, Date2_object));
根据diff返回的值,可以显示文本。您将以天、小时、分钟和秒为单位显示差异,这些信息应足以显示您要显示的文本。

使用以下方法:

<input id="first" value="8/5/2012" placeholder="m/d/yyyy"/>
<input id="second" value="10/15/2012"/><hr>
<button id="btn">Show Days</button>
<div id="result"></div>
<hr>
结果:


如果要与今天的日期进行比较,请使用的
am time ago
,并将其添加到html中,如下所示:

<span am-time-ago="time"></span>


确保
时间
在控制器中定义为日期/时刻对象

可能重复的请提供您尝试此操作的代码检查此帖子:
<span am-time-ago="time"></span>