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