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
1 Answer
Reset to default 0Wrap 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);