in packages/@fbcmobile-ui/Utils/DateUtils.js [103:140]
export function timeSince(
date: moment$Moment,
locale: string,
currentTime?: moment$Moment,
) {
const now = currentTime ? currentTime : moment().locale(locale);
const intervals = {
years: {diff: now.diff(date, 'years'), unit: 'y'},
weeks: {diff: now.diff(date, 'weeks'), unit: 'w'},
days: {diff: now.diff(date, 'days'), unit: 'd'},
hours: {diff: now.diff(date, 'hours'), unit: 'h'},
minutes: {diff: now.diff(date, 'minutes'), unit: 'm'},
seconds: {diff: now.diff(date, 'seconds'), unit: 's'},
};
let intervalType = null;
if (intervals.years.diff >= 1) {
intervalType = 'years';
} else if (intervals.weeks.diff >= 1) {
intervalType = 'weeks';
} else if (intervals.days.diff >= 1) {
intervalType = 'days';
} else if (intervals.hours.diff >= 1) {
intervalType = 'hours';
} else if (intervals.minutes.diff >= 1) {
intervalType = 'minutes';
} else if (intervals.seconds.diff >= 1) {
intervalType = 'seconds';
}
if (intervalType === null) {
return 'now';
}
const interval = intervals[intervalType];
return `${interval.diff}${interval.unit}`;
}