diff --git a/util/SimpleDate.ts b/util/SimpleDate.ts new file mode 100644 index 0000000..e88d4c9 --- /dev/null +++ b/util/SimpleDate.ts @@ -0,0 +1,40 @@ +type DateParts = {day: string; month: string; year: string; hour: string; minute: string; second: string} +export class SimpleDate{ + private date:Date; + public parts: DateParts; + + + + constructor(date?: Date | undefined){ + this.date = date ?? new Date() + this.parts = { + day: String(this.date.getDate()).padStart(2,"0"), + month: String(this.date.getMonth() + 1).padStart(2,"0"), + year: String(this.date.getFullYear()), + hour: String(this.date.getHours()).padStart(2, "0"), + minute: String(this.date.getMinutes()).padStart(2,"0"), + second: String(this.date.getSeconds()).padStart(2, "0"), + } + } + + public getDate(){ + return this.date + } + + public static now(){ + return new this() + } + + public format(formatString: "YYYY-MM-DD" | "DD.MM.YYYY"){ + switch(formatString){ + case "YYYY-MM-DD": + return `${this.parts.year}-${this.parts.month}-${this.parts.day}` + case "DD.MM.YYYY": + return `${this.parts.day}.${this.parts.month}.${this.parts.year}` + } + } + + public toISOString(){ + return `${this.parts.year}-${this.parts.month}-${this.parts.day} ${this.parts.hour}:${this.parts.minute}:${this.parts.second}` + } +} \ No newline at end of file