1export function formatDuration(seconds: number) {
2 const minutes = Math.floor(seconds / 60);
3 const remainingSeconds = seconds % 60;
4 return `${minutes}:${remainingSeconds.toString().padStart(2, "0")}`;
5}
6
7export function formatDurationLong(seconds: number) {
8 const hours = Math.floor(seconds / 3600);
9 const minutes = Math.floor((seconds % 3600) / 60);
10 const remainingSeconds = seconds % 60;
11 return `${hours}:${minutes.toString().padStart(2, "0")}:${remainingSeconds.toString().padStart(2, "0")}`;
12}
13
14export function escapeUri(uri: string) {
15 return encodeURIComponent(uri)
16 .replace(/%2F/gi, "/")
17 .replace(/%3A/gi, ":")
18 .replace(/%2B/gi, "+")
19 .replace(/%40/gi, "@")
20 .replace(/%2D/gi, "-")
21 .replace(/%5F/gi, "_")
22 .replace(/%2E/gi, ".")
23 .replace(/%2C/gi, ",");
24}
25
26const unknownDate = new Date("1970-01-03");
27const unknownDateWithKnownYear = new Date("1970-02-20");
28
29export function formatDate(dateTime: Date) {
30 return dateTime < unknownDateWithKnownYear
31 ? dateTime < unknownDate
32 ? "??.??.??"
33 : `xx.xx.${21 + Math.floor(dateTime.getTime() / 86400000)}`
34 : `${(dateTime.getMonth() + 1).toString().padStart(2, "0")}.${
35 dateTime
36 .getDate()
37 .toString()
38 .padStart(2, "0")
39 }.${dateTime.getFullYear().toString().slice(2)}`;
40}