This repository has been archived on 2026-04-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
interaktive-systeme/util/SimpleDate.ts
2023-12-21 15:27:13 +01:00

40 lines
No EOL
1.2 KiB
TypeScript

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}`
}
}