arduino extract time from epoch / unixtime
unsigned long unixtime;
void setup() {
Serial.begin(9600);
}
unsigned long timeNow;
void loop() {
if(millis() - timeNow >= 1000) { // every second increment unixtime
timeNow = millis();
unixtime += 1;
sprint();
}
}
void sprint() {
int s = unixtime % 60;
int m = (unixtime % 3600) / 60;
int h = (unixtime % 86400) / 3600;
char buff[64];
snprintf(buff, 64, "%02d %02d %02d", h, m, s);
Serial.println(buff);
}