You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
778 B
22 lines
778 B
5 months ago
|
import moment from 'moment';
|
||
|
|
||
|
/**
|
||
|
* Given a UTC Date ISO 8601 string (the doc updatedAt string), gives a reader-friendly
|
||
|
* relative time to now - e.g. 'yesterday', '2 days ago'.
|
||
|
*/
|
||
|
export function getTimeFromNow(utcDateISO: string): string {
|
||
|
const time = moment.utc(utcDateISO);
|
||
|
const now = moment();
|
||
|
const diff = now.diff(time, 's');
|
||
|
if (diff < 0 && diff > -60) {
|
||
|
// If the time appears to be in the future, but less than a minute
|
||
|
// in the future, chalk it up to a difference in time
|
||
|
// synchronization and don't claim the resource will be changed in
|
||
|
// the future. For larger differences, just report them
|
||
|
// literally, there's a more serious problem or lack of
|
||
|
// synchronization.
|
||
|
return now.fromNow();
|
||
|
}
|
||
|
return time.fromNow();
|
||
|
}
|