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

回答編集履歴

2

コード

2018/09/08 01:50

投稿

think49
think49

スコア18194

answer CHANGED
@@ -1,3 +1,5 @@
1
+ ### 00:00 からの経過時間(ミリ秒)
2
+
1
3
  質問前半と後半(HTML)の関係性が不明ですが、前半だけに言及するなら、
2
4
 
3
5
  ```JavaScript
@@ -6,4 +8,33 @@
6
8
 
7
9
  と書き、「9:00 - 0:00」「17:00 - 0:00」のミリ秒で比較する方法があります。
8
10
 
11
+ ### コード
12
+
13
+ タイムゾーン込みの時刻を指定するなら、
14
+
15
+ ```JavaScript
16
+ function testTimeRange (date, start, end) {
17
+ var time = (+date + date.getTimezoneOffset() * 100000) % 86400000;
18
+
19
+ return time >= start && time <= end;
20
+ }
21
+
22
+ console.log(testTimeRange(new Date(2018,9,1), 32400000, 61200000)); // false
23
+ console.log(testTimeRange(new Date(2018,9,1,8), 32400000, 61200000)); // false
24
+ console.log(testTimeRange(new Date(2018,9,1,9), 32400000, 61200000)); // true
25
+ console.log(testTimeRange(new Date(2018,9,1,10), 32400000, 61200000)); // true
26
+ console.log(testTimeRange(new Date(2018,9,1,17), 32400000, 61200000)); // true
27
+ console.log(testTimeRange(new Date(2018,9,1,18), 32400000, 61200000)); // false
28
+ ```
29
+
30
+ UTCなら、
31
+
32
+ ```JavaScript
33
+ function testTimeRangeUTC (date, start, end) {
34
+ var time = date % 86400000;
35
+
36
+ return time >= start && time <= end;
37
+ }
38
+ ```
39
+
9
40
  Re: tears さん

1

typo修正

2018/09/08 01:50

投稿

think49
think49

スコア18194

answer CHANGED
@@ -4,6 +4,6 @@
4
4
  var time = new Date % 86400000;
5
5
  ```
6
6
 
7
- と書き、「9:00 - 0:00」「17:00 - 0:00」のミリ秒で比較する方法あります。
7
+ と書き、「9:00 - 0:00」「17:00 - 0:00」のミリ秒で比較する方法あります。
8
8
 
9
9
  Re: tears さん