71 lines
1.4 KiB
Plaintext
71 lines
1.4 KiB
Plaintext
import java.util.Date;
|
|
import java.util.Calendar;
|
|
import java.text.SimpleDateFormat;
|
|
Date date = new Date();
|
|
SimpleDateFormat dateFormat;
|
|
Calendar calendar = Calendar.getInstance();
|
|
//24*60 = 1440;
|
|
|
|
int i_days = 1;
|
|
int i_hours;
|
|
int i_minutes;
|
|
int i_startMinutes;
|
|
int i_flexibleTime;
|
|
|
|
boolean b_pauseTime;
|
|
boolean b_changeTime;
|
|
|
|
void initTime() {
|
|
i_hours = 5;
|
|
i_minutes = 0;
|
|
i_startMinutes = millis();
|
|
}
|
|
|
|
int getFlexTime(int hour, int minute) {
|
|
return (hour*60+minute);
|
|
}
|
|
|
|
void setTime(int hours, int minutes) {
|
|
i_hours = hours;
|
|
i_minutes = minutes;
|
|
}
|
|
|
|
void time() {
|
|
//calculate time
|
|
if (!b_changeTime) {
|
|
if (millis() - i_startMinutes > i_timeTickMS) {
|
|
i_startMinutes = millis();
|
|
if (!b_pauseTime) {
|
|
i_minutes++;
|
|
}
|
|
}
|
|
if (i_minutes >= 60) {
|
|
i_hours++;
|
|
i_minutes = 0;
|
|
}
|
|
if (i_hours >= 24) {
|
|
i_days++;
|
|
i_hours = 0;
|
|
}
|
|
|
|
i_flexibleTime = i_hours*60 + i_minutes;
|
|
} else {
|
|
i_minutes = i_flexibleTime % 60;
|
|
i_hours = (int)i_flexibleTime / 60;
|
|
if (i_flexibleTime < 0) {
|
|
i_days --;
|
|
i_flexibleTime = 1440;
|
|
}
|
|
if (i_flexibleTime > 1440) {
|
|
i_days++;
|
|
i_flexibleTime = 0;
|
|
}
|
|
}
|
|
|
|
|
|
//time events
|
|
|
|
if ((i_flexibleTime >= getFlexTime(0, 0) && i_flexibleTime < getFlexTime(6, 0)) || i_flexibleTime > getFlexTime(23, 0)) buttons[0].b_active = true;
|
|
else buttons[0].b_active = false;
|
|
}
|