Skip to content

Instantly share code, notes, and snippets.

@spddl
Created May 13, 2018 11:10
Show Gist options
  • Save spddl/184c0511fe64abc83692d8b2888a9ce9 to your computer and use it in GitHub Desktop.
Save spddl/184c0511fe64abc83692d8b2888a9ce9 to your computer and use it in GitHub Desktop.
/*
(4) 2018 M05
Mo Di Mi Do Fr Sa So
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
(5) 2018 M06
Mo Di Mi Do Fr Sa So
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
*/
function pad (str) {
return (' ' + str).slice(-2)
}
function displayMonth (num) {
var date = new Date()
var y = date.getFullYear()
var m = date.getMonth()
var firstDay = new Date(Date.UTC(y, m + num, 1))
var lastDay = new Date(Date.UTC(y, m + 1 + num, 0))
var w = firstDay.getUTCDay() - 1 // der WochenTag
var i
var d = 1 // der Tag
var text = ''
text += '(' + firstDay.getMonth() + ') ' + firstDay.toLocaleDateString('de-DE', { year: 'numeric', month: 'long' }) + '\n' // (4) ‎Mai‎ ‎2018
text += 'Mo Di Mi Do Fr Sa So\n'
for (i = 0; i < lastDay.getUTCDate() + firstDay.getUTCDay() - 1; i++) {
// console.log('i', i, 'w', w, 'd', d)
if (i % 7) {
text += ' ' // zwischen den Daten
} else {
text += '\n' // nach einer Woche
}
if (i === w) {
text += pad(d)
w++
d++
} else {
text += ' ' // der Platzhalter für den vergangenden Monat
}
}
return text
}
console.log(displayMonth(0))
console.log()
console.log(displayMonth(1))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment