TypeScript
by muehan
HTML
<div id="app"></div>
CSS
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
#app {
background: #fff;
border-radius: 4px;
padding: 20px;
transition: all 0.2s;
text-align: center;
}
TypeScript
function NumberToWeekday(weekday: number): string {
switch(weekday){
case 0: return "Monday";
case 1: return "Tuesday";
case 2: return "Wednesday";
case 3: return "Thursday";
case 4: return "Friday";
case 5: return "Saturday";
case 6: return "Sunday";
default: return 'error';
}
}
function WeekdayStringToNumber(weekday: string): string {
switch(weekday){
case "Monday": return 0;
case "Tuesday": return 1;
case "Wednesday": return 2;
case "Thursday": return 3;
case "Friday": return 4;
case "Saturday": return 5;
case "Sunday": return 6;
default: return 'error';
}
}
function DayOffset(weekday: string, offset: number) {
let weekdayNumber = WeekdayStringToNumber(weekday);
let result = (weekdayNumber + offset) % 7;
result = result < 0 ? 7 - (result *-1) : result;
let weekdayString = NumberToWeekday(result);
return weekdayString;
}
document.querySelector("#app").innerHTML = DayOffset("Monday", 9999);
//document.querySelector("#app").innerHTML = DayOffset("Monday", -9998);