给出超过一周,一个月或一年的天数

时间:2017-01-26 12:21:30

标签: javascript

例如,如果我的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;
}

1 个答案:

答案 0 :(得分:7)

我会将momentjsrelative 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