Hi and thank you very much. Yea, it's really a good alternative to a pc running all day or checking your mobile all the time. You can focus on other things and have always an eye on it. It's nice to have one under your pc screen btw.
to your question, the corresponding part is the following. You would have to add for example your Zimezone as nr.8 in the code and compile it new in Arduino, then set the same number in the sd-config to load this setting at least once. If you're really new to arduino its a bit tricky with all the libraries and stuff (boardmanager!) but it is documented.
Problem right now is that i dont know where to find the correct TimeChangeRule values for your timezone (UTC+8 is SGT ...?)
Maybe you find some info. I found the lines i used in the code on the web or in Arduino code examples but i know no more zones right now.
here is the part at the beginning
TimeChangeRule summer_aedt = {"AEDT", First, Sun, Oct, 2, 660}; // 0: Australia Eastern Time Zone (Sydney, Melbourne)
TimeChangeRule standard_aest = {"AEST", First, Sun, Apr, 3, 600};
TimeChangeRule summer_bst = {"BST", Last, Sun, Mar, 1, 60}; // 1: United Kingdom (London, Belfast)
TimeChangeRule standard_gmt = {"GMT", Last, Sun, Oct, 2, 0};
TimeChangeRule summer_eest = {"EEST", Last, Sun, Mar, 3, 180}; // 2: Eastern European Time (Bulgaria, Greece, Romania, Ukraine, Egypt)
TimeChangeRule standard_eet = {"EET ", Last, Sun, Oct, 4, 120};
TimeChangeRule summer_cest = {"CEST", Last, Sun, Mar, 2, 120}; // 3: Central European Time Zone (Frankfurt, Paris)
TimeChangeRule standard_cet = {"CET ", Last, Sun, Oct, 3, 60};
TimeChangeRule summer_edt = {"EDT", Second, Sun, Mar, 2, -240}; // 4: US Eastern Time Zone (New York, Detroit)
TimeChangeRule standard_est = {"EST", First, Sun, Nov, 2, -300};
TimeChangeRule summer_cdt = {"CDT", Second, dowSunday, Mar, 2, -300}; // 5: US Central Time Zone (Chicago, Houston)
TimeChangeRule standard_cst = {"CST", First, dowSunday, Nov, 2, -360};
TimeChangeRule summer_mdt = {"MDT", Second, dowSunday, Mar, 2, -360}; // 6: US Mountain Time Zone (Denver, Salt Lake City)
TimeChangeRule standard_mst = {"MST", First, dowSunday, Nov, 2, -420};
TimeChangeRule summer_pdt = {"PDT", Second, dowSunday, Mar, 2, -420}; // 7: US Pacific Time Zone (Las Vegas, Los Angeles);
TimeChangeRule standard_pst = {"PST", First, dowSunday, Nov, 2, -480};
Timezone myTZ0(summer_aedt, standard_aest); // myTZ0: 0 Australia Eastern Time Zone (Sydney, Melbourne)
Timezone myTZ1(summer_bst, standard_gmt); // myTZ1: 1 United Kingdom (London, Belfast)
Timezone myTZ2(summer_eest, standard_eet); // myTZ2: 2 Eastern European Time (Bulgaria, Greece, Romania, Ukraine, Egypt)
Timezone myTZ3(summer_cest, standard_cet); // myTZ3: 3 Central European Time Zone (Frankfurt, Paris)
Timezone myTZ4(summer_edt, standard_est); // myTZ4: 4 US Eastern Time Zone (New York, Detroit)
Timezone myTZ5(summer_cdt, standard_cst); // myTZ5: 5 US Central Time Zone (Chicago, Houston)
Timezone myTZ6(summer_mdt, standard_mst); // myTZ6: 6 US Mountain Time Zone (Denver, Salt Lake City)
Timezone myTZ7(summer_pdt, standard_pst); // myTZ7: 7 US Pacific Time Zone (Las Vegas, Los Angeles);
and later in the code:
..} else if..=4..
..} else if..=5..
} else if (myTimeZone == 6) {
time_t now = myTZ6.toLocal(time(nullptr), &tcr);
M5.Lcd.printf("%s %2d.%s %02d:%02d", weekDay_MyLang[weekday(now)], day(now), monthName_MyLang[month(now)], hour(now), minute(now));
} else if (myTimeZone == 7) {
time_t now = myTZ7.toLocal(time(nullptr), &tcr);
M5.Lcd.printf("%s %2d.%s %02d:%02d", weekDay_MyLang[weekday(now)], day(now), monthName_MyLang[month(now)], hour(now), minute(now));
here the new else if for nr.8
...
...
i think that would be all