이의준

남은 시간 출력기능 추가

...@@ -4,31 +4,43 @@ var qs = require('querystring'); ...@@ -4,31 +4,43 @@ var qs = require('querystring');
4 var fs = require('fs'); 4 var fs = require('fs');
5 const { METHODS } = require('http'); 5 const { METHODS } = require('http');
6 6
7 +function calculateRemainTime(resFromServer){ // 남은 시간 계산하는 함수
8 + const dateNow = new Date();
9 + const dateBusdeparture =
10 + new Date(dateNow.getFullYear(), dateNow.getMonth(), dateNow.getDate(),
11 + resFromServer[0]*1, resFromServer[1]*1, 0);
12 +
13 + var gapSec = (dateBusdeparture.getTime() - dateNow.getTime())/1000;
14 + var gapHour = Math.floor(gapSec / 60 / 60);
15 + var gapMin = Math.floor((gapSec - gapHour*3600) / 60);
16 +
17 + var ans = gapHour+"시간 "+gapMin+"분 이상";
18 + return ans;
19 +}
20 +
7 function makeTimetable(resFromServer){ // Timetable 표를 만드는 함수 21 function makeTimetable(resFromServer){ // Timetable 표를 만드는 함수
8 - var busArrivalTime = 22 + var remainTime = calculateRemainTime(resFromServer);
23 + var ETD_min_H = resFromServer[0];
24 + var ETD_min_m = resFromServer[1];
25 + var ETD_max_H = resFromServer[2];
26 + var ETD_max_m = resFromServer[3];
27 +
28 + var ETD =
9 `<table border="3" width="400"> 29 `<table border="3" width="400">
10 <th> Index</th> 30 <th> Index</th>
11 <th> 출발 예정시간</th> 31 <th> 출발 예정시간</th>
12 <th> 남은 시간</th> 32 <th> 남은 시간</th>
13 -`;
14 - var lenRes = resFromServer.length;
15 -
16 - for (index = 0; index < lenRes; index+=2){
17 - let m = resFromServer[index];
18 - let M = resFromServer[index+1];
19 - busArrivalTime += `
20 <tr align="center"> 33 <tr align="center">
21 - <td>${(index+2)/2} 번째 버스</td> 34 + <td> text입력하기 </td>
22 - <td>${m} ~ ${M}</td> 35 + <td> ${ETD_min_H}:${ETD_min_m} ~ ${ETD_max_H}:${ETD_max_m} </td>
23 - </tr>`; 36 + <td> ${remainTime} </td>
24 - } 37 + </tr>
25 - busArrivalTime += `
26 </table>`; 38 </table>`;
27 - 39 +
28 - return busArrivalTime; 40 + return ETD;
29 }; 41 };
30 42
31 -function makeTTWebpage(busNum, busArrivalTime){ // Timetable 표를 바탕으로 TT 페이지를 만드는 함수 43 +function makeTTWebpage(busNum, ETD){ // Timetable 표를 바탕으로 TT 페이지를 만드는 함수
32 var templateTimeTable = 44 var templateTimeTable =
33 ` 45 `
34 <!doctype html> 46 <!doctype html>
...@@ -47,7 +59,7 @@ function makeTTWebpage(busNum, busArrivalTime){ // Timetable 표를 바탕으로 ...@@ -47,7 +59,7 @@ function makeTTWebpage(busNum, busArrivalTime){ // Timetable 표를 바탕으로
47 <h2>${busNum} BUS Time Table</h2> 59 <h2>${busNum} BUS Time Table</h2>
48 </div> 60 </div>
49 <div style="padding:0 0 0 20px;"> 61 <div style="padding:0 0 0 20px;">
50 - ${busArrivalTime} 62 + ${ETD}
51 </div> 63 </div>
52 <br> 64 <br>
53 <br> 65 <br>
...@@ -58,12 +70,13 @@ function makeTTWebpage(busNum, busArrivalTime){ // Timetable 표를 바탕으로 ...@@ -58,12 +70,13 @@ function makeTTWebpage(busNum, busArrivalTime){ // Timetable 표를 바탕으로
58 <script> 70 <script>
59 var date = new Date(); 71 var date = new Date();
60 var yyyy = date.getFullYear(); 72 var yyyy = date.getFullYear();
61 - var mm = date.getMonth() + 1; 73 + var mm1 = date.getMonth() + 1;
62 var dd = date.getDate(); 74 var dd = date.getDate();
63 var hh = date.getHours(); 75 var hh = date.getHours();
76 + var mm2 = date.getMinutes();
64 77
65 - document.write(yyyy+"년 "+mm+"월 "+dd+"일 "); 78 + document.write(yyyy+"년 "+mm1+"월 "+dd+"일 ");
66 - document.write(hh+"시 "+mm+"분 기준"); 79 + document.write(hh+"시 "+mm2+"분 기준");
67 </script> 80 </script>
68 </div> 81 </div>
69 </body> 82 </body>
...@@ -85,8 +98,8 @@ module.exports = function(app) ...@@ -85,8 +98,8 @@ module.exports = function(app)
85 var busNum = queryData.busNum; 98 var busNum = queryData.busNum;
86 99
87 // 서버로부터 응답받는 배열의 길이는 항상 짝수여야 한다. (버스 1대당 출발예정 최소 + 최대시간 1개씩) 100 // 서버로부터 응답받는 배열의 길이는 항상 짝수여야 한다. (버스 1대당 출발예정 최소 + 최대시간 1개씩)
88 - var resFromServer = ['1:30', '1:45', '2:00', '2:15', '2:30', '2:45']; 101 + var resFromServer = ['1', '30', '1', '45'];
89 - var busArrivalTime = makeTimetable(resFromServer); 102 + var ETD = makeTimetable(resFromServer); // Estimated time of Depature
90 103
91 // server 완성되면 해당 IP로 request 104 // server 완성되면 해당 IP로 request
92 // request.post( 105 // request.post(
...@@ -102,7 +115,7 @@ module.exports = function(app) ...@@ -102,7 +115,7 @@ module.exports = function(app)
102 // } 115 // }
103 // ); 116 // );
104 117
105 - var templateTimeTable = makeTTWebpage(busNum, busArrivalTime); 118 + var templateTimeTable = makeTTWebpage(busNum, ETD);
106 res.send(templateTimeTable); 119 res.send(templateTimeTable);
107 }); 120 });
108 } 121 }
......
...@@ -22,12 +22,13 @@ ...@@ -22,12 +22,13 @@
22 <div style="padding:0 0 0 20px;"><script> 22 <div style="padding:0 0 0 20px;"><script>
23 var date = new Date(); 23 var date = new Date();
24 var yyyy = date.getFullYear(); 24 var yyyy = date.getFullYear();
25 - var mm = date.getMonth() + 1; 25 + var mm1 = date.getMonth() + 1;
26 var dd = date.getDate(); 26 var dd = date.getDate();
27 var hh = date.getHours(); 27 var hh = date.getHours();
28 + var mm2 = date.getMinutes();
28 29
29 - document.write(yyyy+"년 "+mm+"월 "+dd+"일 오늘 운행하는 버스들 "); 30 + document.write(yyyy+"년 "+mm1+"월 "+dd+"일 오늘 운행하는 버스들 ");
30 - document.write("( "+hh+"시 "+mm+"분 기준 )"); 31 + document.write("( "+hh+"시 "+mm2+"분 기준 )");
31 </script> </div> 32 </script> </div>
32 33
33 <ul> 34 <ul>
......