BangleApps/apps/hourstrike/boot.js

30 lines
1.0 KiB
JavaScript
Raw Normal View History

2021-03-29 02:34:25 +00:00
(function() {
2021-03-31 02:07:41 +00:00
var settings = require('Storage').readJSON('hourstrike.json',1)||[];
2021-03-30 14:05:53 +00:00
var t = new Date();
var t_min_sec = t.getMinutes()*60+t.getSeconds();
2021-03-31 02:07:41 +00:00
var wait_msec = settings.interval>0?(settings.interval-t_min_sec%settings.interval)*1000:-1;
2021-03-30 14:05:53 +00:00
if (wait_msec>0) {
t.setMilliseconds(t.getMilliseconds()+wait_msec);
var t_hour = t.getHours();
2021-03-31 02:07:41 +00:00
if (t_hour<settings.start||t_hour>settings.end) {
2021-03-31 00:28:58 +00:00
var strike = new Date(t.getTime());
2021-03-31 02:07:41 +00:00
strike.setHours(settings.start);
strike.setMinutes(0);
2021-03-31 02:07:41 +00:00
if (t_hour>settings.end) {
2021-03-30 14:05:53 +00:00
strike.setDate(strike.getDate()+1);
}
wait_msec += strike-t;
2021-03-31 02:07:41 +00:00
settings.next_hour = strike.getHours();
settings.next_minute = strike.getMinutes();
} else {
settings.next_hour = t_hour;
settings.next_minute = t.getMinutes();
2021-03-30 14:05:53 +00:00
}
setTimeout(function() {load("hourstrike.js");}, wait_msec);
} else {
settings.next_hour = -1;
settings.next_minute = -1;
2021-03-30 14:05:53 +00:00
}
require('Storage').write('hourstrike.json', settings);
})();