例如,如果我的2个日期相隔仅5天,我想显示5 Days Ago
。
但如果相隔12天,我会显示1 week ago
。
如果他们相隔大约29天,我会显示1 Month Ago
。
然而,不同的月份有不同的天数,所以我的下面的代码不起作用,我将如何做到这一点?
到目前为止我所拥有的:
switch(true) {
case (diff == 0):
difference = 'Today';
break;
case (diff < 7):
difference = diff + 'day' + (diff > 1 ? 's' : '') + ' ago';
case;
case (diff >= 7):
difference = (diff / 7) + 'week' + ((diff / 7) > 1 ? 's' : '') + ' ago';
break;
case (diff >= 28)
break;
}
答案 0 :(得分:7)
我会将momentjs与relative time
一起使用,这样您就不必担心这个难题:
moment("20111031", "YYYYMMDD").fromNow(); // 5 years ago
moment("20120620", "YYYYMMDD").fromNow(); // 5 years ago
moment().startOf('day').fromNow(); // 13 hours ago
moment().endOf('day').fromNow(); // in 11 hours
moment().startOf('hour').fromNow(); // 26 minutes ago