最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - FormatDistance without "hours ago" - Stack Overflow

programmeradmin0浏览0评论

When using date-fns, how can I use intlFormatDistance such that for a duration less than 24 hours, it displays "today" or "yesterday", instead of "x hours ago".

Example:

intlFormatDistance(myDate, new Date());
// Default output: 13 hours ago
// Desired output: Today

When using date-fns, how can I use intlFormatDistance such that for a duration less than 24 hours, it displays "today" or "yesterday", instead of "x hours ago".

Example:

intlFormatDistance(myDate, new Date());
// Default output: 13 hours ago
// Desired output: Today
Share Improve this question edited Feb 5 at 13:34 mplungjan 178k28 gold badges180 silver badges240 bronze badges asked Feb 5 at 13:24 BenBen 16.7k19 gold badges96 silver badges157 bronze badges 0
Add a comment  | 

1 Answer 1

Reset to default 0

Wrap it

const customIntlFormatDistance = (date, baseDate = new Date()) => 
  differenceInHours(baseDate, date) < 24 ? "Today" :
    isYesterday(date) ? "Yesterday" : 
      intlFormatDistance(date, baseDate);

In case you meant "if today" instead of < 24 then:

const customIntlFormatDistance = (date, baseDate = new Date()) => 
  isToday(date) ? "Today" : 
    isYesterday(date) ? "Yesterday" : 
      intlFormatDistance(date, baseDate);
发布评论

评论列表(0)

  1. 暂无评论