forked from profectus/Profectus
Fixed formatTime
This commit is contained in:
parent
bb54904464
commit
040fcfdf5f
1 changed files with 21 additions and 27 deletions
|
@ -114,48 +114,42 @@ export function formatWhole(num: DecimalSource): string {
|
||||||
return format(num, 0);
|
return format(num, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function formatTime(s: DecimalSource): string {
|
export function formatTime(seconds: DecimalSource): string {
|
||||||
if (Decimal.gt(s, 2 ^ 51)) {
|
if (Decimal.gt(seconds, 2 ** 51)) {
|
||||||
// integer precision limit
|
// integer precision limit
|
||||||
return format(Decimal.div(s, 31536000)) + "y";
|
return format(Decimal.div(seconds, 31536000)) + "y";
|
||||||
}
|
}
|
||||||
s = new Decimal(s).toNumber();
|
seconds = new Decimal(seconds).toNumber();
|
||||||
if (s < 60) {
|
if (seconds < 60) {
|
||||||
return format(s) + "s";
|
return format(seconds) + "s";
|
||||||
} else if (s < 3600) {
|
} else if (seconds < 3600) {
|
||||||
return formatWhole(Math.floor(s / 60)) + "m " + format(s % 60) + "s";
|
return formatWhole(Math.floor(seconds / 60)) + "m " + format(seconds % 60) + "s";
|
||||||
} else if (s < 86400) {
|
} else if (seconds < 86400) {
|
||||||
return (
|
return (
|
||||||
formatWhole(Math.floor(s / 3600)) +
|
formatWhole(Math.floor(seconds / 3600)) +
|
||||||
"h " +
|
"h " +
|
||||||
formatWhole(Math.floor(s / 60) % 60) +
|
formatWhole(Math.floor(seconds / 60) % 60) +
|
||||||
"m " +
|
"m " +
|
||||||
format(s % 60) +
|
format(seconds % 60) +
|
||||||
"s"
|
"s"
|
||||||
);
|
);
|
||||||
} else if (s < 31536000) {
|
} else if (seconds < 31536000) {
|
||||||
return (
|
return (
|
||||||
formatWhole(Math.floor(s / 84600) % 365) +
|
formatWhole(Math.floor(seconds / 84600) % 365) +
|
||||||
"d " +
|
"d " +
|
||||||
formatWhole(Math.floor(s / 3600) % 24) +
|
formatWhole(Math.floor(seconds / 3600) % 24) +
|
||||||
"h " +
|
"h " +
|
||||||
formatWhole(Math.floor(s / 60) % 60) +
|
formatWhole(Math.floor(seconds / 60) % 60) +
|
||||||
"m " +
|
"m"
|
||||||
format(s % 60) +
|
|
||||||
"s"
|
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
return (
|
return (
|
||||||
formatWhole(Math.floor(s / 31536000)) +
|
formatWhole(Math.floor(seconds / 31536000)) +
|
||||||
"y " +
|
"y " +
|
||||||
formatWhole(Math.floor(s / 84600) % 365) +
|
formatWhole(Math.floor(seconds / 84600) % 365) +
|
||||||
"d " +
|
"d " +
|
||||||
formatWhole(Math.floor(s / 3600) % 24) +
|
formatWhole(Math.floor(seconds / 3600) % 24) +
|
||||||
"h " +
|
"h"
|
||||||
formatWhole(Math.floor(s / 60) % 60) +
|
|
||||||
"m " +
|
|
||||||
format(s % 60) +
|
|
||||||
"s"
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue