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