Hello,;
I'm trying to create an app where the user enters the time they wish for a certain event to happen. They can enter up to 5 events which will be stored in an array in which the next occurring time is picked. They will enter it in a 24-hour format (00:00 to 23:59) in a string, and this will be compared against the current time to trigger the next event to take place.
However I'm coming up with two major problems - how to deal with null values (I thought I did but it's not working) and the values are either not converting to time correctly or not able to compare with the current time. I need to work with null values because the user does not need to fill all the times.
My code is as follows:-
function convertHour(timeUnit) {
var timeDisplay = timeUnit;
var timeHr = timeUnit.substring(0,2).toNumber();
var timeMin = timeUnit.substring(3,5).toNumber();
if (!System.getDeviceSettings().is24Hour) {
if (timeDisplay != null) {
timeHr = timeHr % 12 ? timeHr % 12 : 12;
timeHr = timeHr.format("%02d");
timeMin = timeMin.format("%02d");
timeDisplay = Lang.format("$1$:$2$", [timeHr, timeMin]);}
} else {
timeHr = timeHr.format("%02d");
timeMin = timeMin.format("%02d");
timeDisplay = Lang.format("$1$:$2$", [timeHr, timeMin]);
}
return timeDisplay;
}
function onUpdate(dc) {
var currentTime = Lang.format(timeFormat, [hours.format("%02d"), mins.format("%02d")]);
var timeArray = [convertHour(time01), convertHour(time02), convertHour(time03), convertHour(time04), convertHour(time05)];
var nextTime = timeArray[0];
for (var i=1; i < timeArray.size(); i++) {
if (timeArray[i] > currentTime) {
nextTime = timeArray[i];
}
}
}
Please advise.