回答編集履歴

3

修正

2019/02/06 10:30

投稿

yambejp
yambejp

スコア114572

test CHANGED
@@ -74,6 +74,8 @@
74
74
 
75
75
  document.querySelector('#btn').addEventListener('click',function(){
76
76
 
77
+ var offset=30;
78
+
77
79
  var d0=document.querySelector('#dates').value;
78
80
 
79
81
  var t1=document.querySelector('#time_start').value;
@@ -84,9 +86,9 @@
84
86
 
85
87
  var d2=new Date(d0+" "+t2);d2.setTime(d2.getTime()+1000*60*60*9);
86
88
 
87
- var m=Array((d2.getTime()-d1.getTime())/1000/60/30).fill(null).map(function(x,y){
89
+ var m=Array((d2.getTime()-d1.getTime())/1000/60/offset+1).fill(null).map(function(x,y){
88
90
 
89
- return (new Date(d1.getTime()+1000*30*y)).toISOString().substr(0,16);
91
+ return (new Date(d1.getTime()+1000*60*offset*y)).toISOString().substr(0,16);
90
92
 
91
93
  });
92
94
 

2

調整

2019/02/06 10:30

投稿

yambejp
yambejp

スコア114572

test CHANGED
@@ -84,15 +84,13 @@
84
84
 
85
85
  var d2=new Date(d0+" "+t2);d2.setTime(d2.getTime()+1000*60*60*9);
86
86
 
87
- var count=0;
87
+ var m=Array((d2.getTime()-d1.getTime())/1000/60/30).fill(null).map(function(x,y){
88
88
 
89
- while(d1<=d2){
89
+ return (new Date(d1.getTime()+1000*30*y)).toISOString().substr(0,16);
90
90
 
91
- BUSY.push(d1.toISOString().substr(0,16));
91
+ });
92
92
 
93
- d1.setMinutes(d1.getMinutes()+30);
93
+ [].push.apply(BUSY,m);
94
-
95
- }
96
94
 
97
95
  console.log(BUSY);
98
96
 
@@ -110,4 +108,6 @@
110
108
 
111
109
  <input type="button" value="go" id="btn">
112
110
 
111
+
112
+
113
113
  ```

1

tuiki

2019/02/06 10:27

投稿

yambejp
yambejp

スコア114572

test CHANGED
@@ -15,3 +15,99 @@
15
15
 
16
16
 
17
17
  その後のmon~sunをクリックして何かをしたい部分はどうするのでしょうか?
18
+
19
+
20
+
21
+ # sample
22
+
23
+
24
+
25
+ 仮に
26
+
27
+ ```HTML
28
+
29
+ <input type="date" value="2019-01-01" id="dates">
30
+
31
+ <input type="time" value="10:00" id="time_start">
32
+
33
+ <input type="time" value="19:00" id="time_finish">
34
+
35
+ ```
36
+
37
+ というタグを利用して、
38
+
39
+ '2019-01-01T10:00'から30分お気に'2019-01-01T19:00'までのデータを作り
40
+
41
+ BUSYに追加すると言うことでよいでしょうか?
42
+
43
+
44
+
45
+ ```javascript
46
+
47
+ <script>
48
+
49
+ const BUSY = [
50
+
51
+ '2019-02-12T10:00',
52
+
53
+ '2019-02-12T10:30',
54
+
55
+ '2019-02-13T10:00',
56
+
57
+ '2019-02-02T10:00',
58
+
59
+ '2019-02-02T10:30',
60
+
61
+ '2019-02-03T10:00',
62
+
63
+ '2019-02-03T10:30',
64
+
65
+ '2019-02-09T10:00',
66
+
67
+ '2019-02-09T10:30',
68
+
69
+ '2019-02-09T23:30'
70
+
71
+ ];
72
+
73
+ window.addEventListener('DOMContentLoaded', function(){
74
+
75
+ document.querySelector('#btn').addEventListener('click',function(){
76
+
77
+ var d0=document.querySelector('#dates').value;
78
+
79
+ var t1=document.querySelector('#time_start').value;
80
+
81
+ var t2=document.querySelector('#time_finish').value;
82
+
83
+ var d1=new Date(d0+" "+t1);d1.setTime(d1.getTime()+1000*60*60*9);
84
+
85
+ var d2=new Date(d0+" "+t2);d2.setTime(d2.getTime()+1000*60*60*9);
86
+
87
+ var count=0;
88
+
89
+ while(d1<=d2){
90
+
91
+ BUSY.push(d1.toISOString().substr(0,16));
92
+
93
+ d1.setMinutes(d1.getMinutes()+30);
94
+
95
+ }
96
+
97
+ console.log(BUSY);
98
+
99
+ });
100
+
101
+ });
102
+
103
+ </script>
104
+
105
+ <input type="date" value="2019-01-01" id="dates"><br>
106
+
107
+ <input type="time" value="10:00" id="time_start"><br>
108
+
109
+ <input type="time" value="19:00" id="time_finish"><br>
110
+
111
+ <input type="button" value="go" id="btn">
112
+
113
+ ```