teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

2018/04/02 08:08

投稿

webhajime
webhajime

スコア17

answer CHANGED
@@ -1,32 +1,0 @@
1
- 一部コードにて気になったところがあるのですが解決しました。
2
- var tempDate = new Date( date - 24 * 60 * 60 * 1000 );
3
- var monday = getMonday( tempDate );
4
- var sunday = new Date( monday.getTime() + 6 * 24 * 60 * 60 * 1000 );
5
- ここで1日引かれている理由日曜日が次の週にならないようにするためですね。
6
- 以下記載にて後の計算で1日引かず、月曜日からの日付を指定できました。
7
-
8
- function schedule(date){
9
-
10
- var getMonday = function(date) {
11
- if (date.getDay() == 0) {
12
- return new Date( date.getTime() - 6 * 24 * 60 * 60 * 1000 ); // 日曜日対応
13
- } else {
14
- return new Date( date.getTime() - ( date.getDay() - 1 ) * 24 * 60 * 60 * 1000 );
15
- }
16
- }
17
-
18
- date.setHours(0,0,0);
19
-
20
- var tempDate = new Date( date );
21
- var monday = getMonday( tempDate );
22
- var sunday = new Date( monday.getTime() + 6 * 24 * 60 * 60 * 1000 );
23
-
24
- tempDate = new Date(date);
25
- tempDate.setMonth(1,21);
26
- firstDate = getMonday( tempDate );
27
- if ( firstDate > date ) {
28
- tempDate.setMonth(-11,21);
29
- firstDate = getMonday( tempDate );
30
- }
31
-
32
- var weekNumber = Math.floor( ( date - firstDate ) / ( 24 * 60 * 60 * 1000 ) / 7 ) + 1;