回答編集履歴
4
終了時刻は、8:30:00 ちょうどを前日扱いにしました。
test
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
例えばこのような感じでしょうか?
|
2
|
+
(当初の回答に1行追加しました。)
|
2
3
|
```javascript
|
3
4
|
function getEveryDays(strBegin, strEnd) {
|
4
5
|
strBegin = '2023/03/27 08:00:00';
|
@@ -7,6 +8,7 @@
|
|
7
8
|
let dateEnd = new Date(strEnd);
|
8
9
|
dateBegin.setMinutes(dateBegin.getMinutes() - 30);
|
9
10
|
dateBegin.setHours(dateBegin.getHours() - 8);
|
11
|
+
dateEnd.setMilliseconds(dateEnd.getMilliseconds() - 1);//ここを追加
|
10
12
|
dateEnd.setMinutes(dateEnd.getMinutes() - 30);
|
11
13
|
dateEnd.setHours(dateEnd.getHours() - 8);
|
12
14
|
dateEnd.setDate(dateEnd.getDate() + 1);
|
@@ -28,4 +30,4 @@
|
|
28
30
|
'2023/03/30',
|
29
31
|
'2023/03/31',
|
30
32
|
'2023/04/01',
|
31
|
-
'2023/04/02' ]
|
33
|
+
'2023/04/02' ] ← strEndに 4/2 8:30:00を指定すると表示されない。
|
3
dateBeginの時刻クリアを削除しました。
test
CHANGED
@@ -3,14 +3,13 @@
|
|
3
3
|
function getEveryDays(strBegin, strEnd) {
|
4
4
|
strBegin = '2023/03/27 08:00:00';
|
5
5
|
strEnd = '2023/04/02 09:00:00';
|
6
|
-
|
6
|
+
const dateBegin = new Date(strBegin);
|
7
7
|
let dateEnd = new Date(strEnd);
|
8
8
|
dateBegin.setMinutes(dateBegin.getMinutes() - 30);
|
9
9
|
dateBegin.setHours(dateBegin.getHours() - 8);
|
10
10
|
dateEnd.setMinutes(dateEnd.getMinutes() - 30);
|
11
11
|
dateEnd.setHours(dateEnd.getHours() - 8);
|
12
12
|
dateEnd.setDate(dateEnd.getDate() + 1);
|
13
|
-
dateBegin = new Date(Utilities.formatDate(dateBegin, 'JST', 'yyyy/MM/dd'));
|
14
13
|
dateEnd = new Date(Utilities.formatDate(dateEnd, 'JST', 'yyyy/MM/dd'));
|
15
14
|
const result = [];
|
16
15
|
while (dateBegin < dateEnd) {
|
2
;のない行に付記
test
CHANGED
@@ -9,9 +9,9 @@
|
|
9
9
|
dateBegin.setHours(dateBegin.getHours() - 8);
|
10
10
|
dateEnd.setMinutes(dateEnd.getMinutes() - 30);
|
11
11
|
dateEnd.setHours(dateEnd.getHours() - 8);
|
12
|
-
dateEnd.setDate(dateEnd.getDate() + 1)
|
12
|
+
dateEnd.setDate(dateEnd.getDate() + 1);
|
13
|
-
dateBegin = new Date(Utilities.formatDate(dateBegin, 'JST', 'yyyy/MM/dd'))
|
13
|
+
dateBegin = new Date(Utilities.formatDate(dateBegin, 'JST', 'yyyy/MM/dd'));
|
14
|
-
dateEnd = new Date(Utilities.formatDate(dateEnd, 'JST', 'yyyy/MM/dd'))
|
14
|
+
dateEnd = new Date(Utilities.formatDate(dateEnd, 'JST', 'yyyy/MM/dd'));
|
15
15
|
const result = [];
|
16
16
|
while (dateBegin < dateEnd) {
|
17
17
|
result.push(Utilities.formatDate(dateBegin, 'JST', 'yyyy/MM/dd'));
|
1
日付の処理を修正しました。
test
CHANGED
@@ -1,14 +1,17 @@
|
|
1
1
|
例えばこのような感じでしょうか?
|
2
2
|
```javascript
|
3
3
|
function getEveryDays(strBegin, strEnd) {
|
4
|
-
strBegin = '2023/03/27 08:
|
4
|
+
strBegin = '2023/03/27 08:00:00';
|
5
5
|
strEnd = '2023/04/02 09:00:00';
|
6
|
-
|
6
|
+
let dateBegin = new Date(strBegin);
|
7
|
-
|
7
|
+
let dateEnd = new Date(strEnd);
|
8
8
|
dateBegin.setMinutes(dateBegin.getMinutes() - 30);
|
9
9
|
dateBegin.setHours(dateBegin.getHours() - 8);
|
10
10
|
dateEnd.setMinutes(dateEnd.getMinutes() - 30);
|
11
11
|
dateEnd.setHours(dateEnd.getHours() - 8);
|
12
|
+
dateEnd.setDate(dateEnd.getDate() + 1)
|
13
|
+
dateBegin = new Date(Utilities.formatDate(dateBegin, 'JST', 'yyyy/MM/dd'))
|
14
|
+
dateEnd = new Date(Utilities.formatDate(dateEnd, 'JST', 'yyyy/MM/dd'))
|
12
15
|
const result = [];
|
13
16
|
while (dateBegin < dateEnd) {
|
14
17
|
result.push(Utilities.formatDate(dateBegin, 'JST', 'yyyy/MM/dd'));
|
@@ -19,11 +22,11 @@
|
|
19
22
|
}
|
20
23
|
```
|
21
24
|
ログの内容
|
22
|
-
[ '2023/03/2
|
25
|
+
[ '2023/03/26',
|
26
|
+
'2023/03/27',
|
23
27
|
'2023/03/28',
|
24
28
|
'2023/03/29',
|
25
29
|
'2023/03/30',
|
26
30
|
'2023/03/31',
|
27
31
|
'2023/04/01',
|
28
32
|
'2023/04/02' ]
|
29
|
-
|