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

Mar*_*all 2 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;
}
Run Code Online (Sandbox Code Playgroud)

Tho*_*lle 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
Run Code Online (Sandbox Code Playgroud)

  • 哇,你在不到一分钟内得到了6个赞成票 (3认同)