Round values for relative time instead of flooring (#6225)

This commit is contained in:
Jelle Raaijmakers 2020-07-09 20:19:59 +02:00 committed by GitHub
parent 26e678a97d
commit 8ce120b74d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -20,31 +20,24 @@ export default function relativeTime(
let delta = (compareTime.getTime() - dateObj.getTime()) / 1000;
const tense = delta >= 0 ? "past" : "future";
delta = Math.abs(delta);
let timeDesc;
let roundedDelta = Math.round(delta);
let unit = "week";
for (let i = 0; i < tests.length; i++) {
if (delta < tests[i]) {
delta = Math.floor(delta);
timeDesc = localize(
`ui.components.relative_time.duration.${langKey[i]}`,
"count",
delta
);
if (roundedDelta < tests[i]) {
unit = langKey[i];
break;
}
delta /= tests[i];
roundedDelta = Math.round(delta);
}
if (timeDesc === undefined) {
delta = Math.floor(delta);
timeDesc = localize(
"ui.components.relative_time.duration.week",
"count",
delta
);
}
const timeDesc = localize(
`ui.components.relative_time.duration.${unit}`,
"count",
roundedDelta
);
return options.includeTense === false
? timeDesc