Skip to content

Commit 78976ad

Browse files
author
unclepotap1
committed
init
0 parents  commit 78976ad

File tree

5 files changed

+96
-0
lines changed

5 files changed

+96
-0
lines changed

.c9/.nakignore

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
*~backup-*
2+
.c9revisions
3+
.c9
4+
.git
5+
.svn
6+
.DS_Store
7+
.bzr
8+
.cdv
9+
~.dep
10+
~.dot
11+
~.nib
12+
~.plst
13+
.hg
14+
.pc
15+
*.min.js
16+
.nakignore
17+
/dev

.c9/metadata/tab1

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"filter":false,"title":"Terminal","undoManager":{"mark":0,"position":-1,"stack":[]},"terminal":{"id":"unclepotap1@calendar_js_943","cwd":"","width":1164,"height":565,"scrollTop":150},"timestamp":1425375546787,"hash":"67452301efcdab8998badcfe10325476c3d2e1f0"}

.c9/metadata/workspace/index.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.c9/project.settings

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"ace": {
3+
"@guessTabSize": "true",
4+
"@newLineMode": "unix",
5+
"@tabSize": "4",
6+
"@useSoftTabs": "true"
7+
},
8+
"build": {
9+
"@builder": "auto",
10+
"@path": "/.c9/builders",
11+
"@saveall": true
12+
},
13+
"find.nak": {
14+
"@searchLimit": 100
15+
},
16+
"language": {
17+
"@instanceHighlight": "true",
18+
"@semi": "true",
19+
"@undeclaredVars": "true",
20+
"@unusedFunctionArgs": "false",
21+
"@warnLevel": "info"
22+
},
23+
"run": {
24+
"@path": "/.c9/runners",
25+
"configs": {
26+
"@inited": "true",
27+
"json()": {}
28+
}
29+
},
30+
"share": {
31+
"@app": false,
32+
"@preview": false,
33+
"@useOwnerSettings": false
34+
}
35+
}

index.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
function Calendar(month, year) {
2+
3+
/**
4+
* Возвращает номер последнего дня в месяце
5+
* @param {Number} y - год
6+
* @param {Number} m - месяц
7+
* @returns {Number}
8+
*/
9+
var maxDays = function (y, m) {
10+
return new Date(y, m + 1, 0).getDate();
11+
};
12+
13+
// числа текущего месяца
14+
var main = [];
15+
for (var i = 1; i <= maxDays(year, month); i++) {
16+
var data = new Date(year, month, i);
17+
// заполняем числа месяца, учитывая, что день недели начинается с понедельника
18+
main.push({number: i, day: (data.getDay() == 0) ? 7 : data.getDay()});
19+
}
20+
21+
var firstDay = main[0].day,
22+
lastDay = main[main.length - 1].day;
23+
24+
// Числа предыдущего месяца
25+
var max = maxDays(year, month - 1),
26+
before = [];
27+
while (firstDay > 1) {
28+
before.unshift({number: max--, day: --firstDay});
29+
}
30+
31+
// Числа следующего месяца
32+
var after = [],
33+
i = 1;
34+
while (lastDay < 7) {
35+
after.push({number: i++, day: ++lastDay});
36+
}
37+
38+
return [before, main, after];
39+
}
40+
41+
var newDate = new Date();
42+
console.log(Calendar(newDate.getMonth(), newDate.getFullYear()));

0 commit comments

Comments
 (0)