mirror of
https://github.com/20kaushik02/spotify-manager.git
synced 2026-01-25 06:04:05 +00:00
import/export data
This commit is contained in:
24
utils/getFormattedDate.ts
Normal file
24
utils/getFormattedDate.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { zeroPaddedString } from "./getFormattedNumber.ts";
|
||||
|
||||
/**
|
||||
* Returns a timestamp string to use for timestamped files
|
||||
* @returns String of current datetime in YYYYMMDD-HHMMSS format
|
||||
*/
|
||||
const dateForFilename = (): string => {
|
||||
const dt = new Date();
|
||||
return `${dt.getFullYear()}${zeroPaddedString(
|
||||
dt.getMonth() + 1,
|
||||
2,
|
||||
"before"
|
||||
)}${zeroPaddedString(dt.getDate(), 2, "before")}-${zeroPaddedString(
|
||||
dt.getHours(),
|
||||
2,
|
||||
"before"
|
||||
)}${zeroPaddedString(dt.getMinutes(), 2, "before")}${zeroPaddedString(
|
||||
dt.getSeconds(),
|
||||
2,
|
||||
"before"
|
||||
)}`;
|
||||
};
|
||||
|
||||
export { dateForFilename };
|
||||
16
utils/getFormattedNumber.ts
Normal file
16
utils/getFormattedNumber.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
const zeroPaddedString = (
|
||||
num: number,
|
||||
requiredDigits: number,
|
||||
position: "before" | "after"
|
||||
): string => {
|
||||
if (num < 0) throw new RangeError("negative number");
|
||||
if (requiredDigits < 0) throw new RangeError("invalid number of zeroes");
|
||||
if (position !== "before" && position !== "after")
|
||||
throw new TypeError("invalid position (before or after only)");
|
||||
|
||||
const requiredZeroes = requiredDigits - (num + "").replace(".", "").length;
|
||||
const zeroes = "0".repeat(requiredZeroes);
|
||||
return position === "before" ? "" + zeroes + num : "" + num + zeroes;
|
||||
};
|
||||
|
||||
export { zeroPaddedString };
|
||||
Reference in New Issue
Block a user