date-fns#differenceInMinutes JavaScript Examples
The following examples show how to use
date-fns#differenceInMinutes.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: relativeCommitTimeCalculator.js From gitconvex with Apache License 2.0 | 6 votes |
export function relativeCommitTimeCalculator(commitTime) {
let commitRelativeTime;
const days = differenceInCalendarDays(new Date(), new Date(commitTime));
const hours = differenceInHours(new Date(), new Date(commitTime));
const minutes = differenceInMinutes(new Date(), new Date(commitTime));
if (days > 0) {
if (days >= 30) {
const month = differenceInMonths(new Date(), new Date(commitTime));
commitRelativeTime =
month === 1 ? month + " Month Ago" : month + " Months Ago";
} else if (days >= 365) {
const year = differenceInYears(new Date(), new Date(commitTime));
commitRelativeTime =
year === 1 ? year + " Year Ago" : year + " Years Ago";
} else {
commitRelativeTime = days === 1 ? days + " Day Ago" : days + " Days Ago";
}
} else if (hours > 0) {
commitRelativeTime =
hours === 1 ? hours + " Hour Ago" : hours + " Hours Ago";
} else if (minutes > 0) {
commitRelativeTime =
minutes === 1 ? minutes + " Minute Ago" : minutes + " Minutes Ago";
} else {
commitRelativeTime = "recent commit";
}
return commitRelativeTime;
}
Example #2
Source File: RealtimeHeader.js From umami with MIT License | 5 votes |
export default function RealtimeHeader({ websites, data, websiteId, onSelect }) {
const options = [
{ label: <FormattedMessage id="label.all-websites" defaultMessage="All websites" />, value: 0 },
].concat(
websites.map(({ name, website_id }, index) => ({
label: name,
value: website_id,
divider: index === 0,
})),
);
const { pageviews, sessions, events, countries } = data;
const count = useMemo(() => {
return sessions.filter(
({ created_at }) => differenceInMinutes(new Date(), new Date(created_at)) <= 5,
).length;
}, [sessions, websiteId]);
return (
<>
<PageHeader>
<div>
<FormattedMessage id="label.realtime" defaultMessage="Realtime" />
</div>
<div>
<ActiveUsers className={styles.active} value={count} />
</div>
<DropDown value={websiteId} options={options} onChange={onSelect} />
</PageHeader>
<div className={styles.metrics}>
<MetricCard
label={<FormattedMessage id="metrics.views" defaultMessage="Views" />}
value={pageviews.length}
hideComparison
/>
<MetricCard
label={<FormattedMessage id="metrics.visitors" defaultMessage="Visitors" />}
value={sessions.length}
hideComparison
/>
<MetricCard
label={<FormattedMessage id="metrics.events" defaultMessage="Events" />}
value={events.length}
hideComparison
/>
<MetricCard
label={<FormattedMessage id="metrics.countries" defaultMessage="Countries" />}
value={countries.length}
hideComparison
/>
</div>
</>
);
}
Example #3
Source File: date.js From umami with MIT License | 5 votes |
dateFuncs = { minute: [differenceInMinutes, addMinutes, startOfMinute], hour: [differenceInHours, addHours, startOfHour], day: [differenceInCalendarDays, addDays, startOfDay], month: [differenceInCalendarMonths, addMonths, startOfMonth], year: [differenceInCalendarYears, addYears, startOfYear], }