-
Notifications
You must be signed in to change notification settings - Fork 0
/
getNextTrain.js
72 lines (52 loc) · 1.69 KB
/
getNextTrain.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
var schedule = require('./schedule.json');
var moment = require('moment');
function pad(num, size){ return ('000000000' + num).substr(-size); }
var getNextTrain = function (line, station) {
var now = new Date();
console.log('test');
console.log(now);
console.log('now', now, now.toISOString());
var fastTime = parseInt((now.getDay() + 1) + pad(now.getHours() - 4, 2) + pad(now.getMinutes(), 2) + pad(now.getSeconds(), 2));
console.log('now', fastTime);
for (var i in schedule['F23N']['arrivals']) {
console.log(schedule['F23N']['arrivals'][i]);
if (schedule['F23N']['arrivals'][i] > fastTime) {
// return schedule[i];
var foo = schedule['F23N']['arrivals'][i].toString();
return moment({
h: parseInt(foo.substring(1, 3)) + 4,
m: foo.substring(3, 5),
s: foo.substring(5, 7)
});
}
}
// var now = new Date();
// var nextTrain = null;
// var _schedule_ = schedule[line][station]['inbound']['WKD'];
// console.log(_schedule_);
// var hour = now.getHours(),
// minute = now.getMinutes();
// console.log(hour, minute);
// var trainsThisHour;
// while (!nextTrain) {
// trainsThisHour = _schedule_[hour];
// if (!trainsThisHour) {
// hour += 1;
// minute = 0;
// continue;
// }
// trainsThisHour = trainsThisHour.sort(function (a,b) {
// return a > b;
// }).filter(function (m) {
// return m >= minute;
// });
// if (trainsThisHour.length >= 1) {
// nextTrain = hour + ':' + trainsThisHour[0]
// }
// }
// return nextTrain;
};
module.exports = getNextTrain;
if (!module.parent) {
console.log(getNextTrain(process.argv[2], process.argv[3]));
}