#include <NTPClient.h>
#include <WiFi.h>
#include <WiFiUdp.h>
const char* wifi_ssid = "Wokwi-GUEST";
const char* wifi_password = "";
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "in.pool.ntp.org", -10800); // UTC offset for Argentina (3 hours later)
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
WiFi.begin(wifi_ssid, wifi_password);
while ( WiFi.status() != WL_CONNECTED )
{
delay ( 500 );
Serial.print ( "." );
}
Serial.println("Wifi Connected!");
timeClient.begin();
Serial.println("");
Serial.println("Hello, ESP32!");
timeClient.update();
}
void loop() {
//Update NTP
timeClient.update();
//int hours = timeClient.getHours();
//String minutes = String(timeClient.getMinutes());
//Serial.println("Time: " + String(hours) + ":" + String(minutes));
//Print Date/MM/Year
printDate(timeClient.getEpochTime());
//Print current time
String time = (timeClient.getFormattedTime());
Serial.println(time);
String hour = time.substring(0, 2); //HH
String minute = time.substring(3, 5); //MM
String TimeStamp = hour + ":" + minute;
//Serial.println("TimeStamp: "+ hour + ":"+minute);
Serial.println("TimeStamp: "+ TimeStamp);
delay(60000);
}
void printDate(unsigned long epochTime) {
const char* months[] = {"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"};
time_t time = (time_t)epochTime;
struct tm* tm_info = localtime(&time);
String month = months[tm_info->tm_mon];
int date = tm_info->tm_mday;
int year = tm_info->tm_year + 1900;
Serial.print(String(date)+"/"+ String(month)+"/"+String(year)+" - ");
}