#ifdef defined(ESP8266)
#include <ESP8266WiFi.h>
#elif defined(ESP32)
#include "WiFi.h"
#endif
// Timezone definition
#define MYTZ "CET-1CEST,M3.5.0,M10.5.0/3"
// C Time library: https://cplusplus.com/reference/ctime/
#include <time.h>
// C struct tm: https://cplusplus.com/reference/ctime/tm/
struct tm tInfo;
void setup() {
Serial.begin(115200);
Serial.println("Connecting to WiFi ");
WiFi.begin("Wokwi-GUEST", "");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.print("\nWiFi connected. ");
Serial.println("IP address: ");
Serial.println(WiFi.localIP().toString());
// Sync time with NTP server
#ifdef defined(ESP8266)
configTime(MYTZ, "time.google.com", "time.windows.com", "pool.ntp.org");
#elif defined(ESP32)
configTzTime(MYTZ, "time.google.com", "time.windows.com", "pool.ntp.org");
#endif
}
void loop() {
static uint32_t pTime;
if (millis() - pTime > 1000) {
pTime = millis();
getLocalTime(&tInfo); //Update tInfo struct
// C function strftime: https://www.cplusplus.com/reference/ctime/strftime/
Serial.println(&tInfo, "%A, %B %d %Y %H:%M:%S");
}
delay(10); // Increase simulation performance
}