#include <WiFi.h>
#include "time.h"
#include <NTPClient.h>
#include <WiFiUdp.h>
#include <ArduinoJson.h>

const char* ssid     = "Zeno_Modiff";              
const char* password = "UFMTRBRR";                

WiFiClient client;
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "pool.ntp.org");
String weekDays[7]={"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
String months[12]={"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};

void setup() {
  
  Serial.begin(115200);
  Serial.print("Connecting to ");
  WiFi.mode(WIFI_STA); 
  delay(2000);
  Serial.println(ssid);
  delay(2000);
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
  delay(500);
  Serial.print(".");
  }
  Serial.println("");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  delay(2000);
  timeClient.begin();
  timeClient.setTimeOffset(19786);
}
void loop()                    
{
  timeClient.update();
 
  unsigned long epochTime = timeClient.getEpochTime();
  String formattedTime = timeClient.getFormattedTime();
  int currentHour = timeClient.getHours();
  int currentMinute = timeClient.getMinutes();
  int currentSecond = timeClient.getSeconds(); 
  String weekDay = weekDays[timeClient.getDay()];
  
  struct tm *ptm = gmtime ((time_t *)&epochTime); 
  int monthDay = ptm->tm_mday;
  int currentMonth = ptm->tm_mon+1;
  int currentYear = ptm->tm_year+1900;
  String currentDate = String(monthDay) + "-" + String(currentMonth) + "-" + String(currentYear);
  String currentMonthName = months[currentMonth-1];
  String currentTime = String(currentHour) + ":" + String(currentMinute) + ":" + String(currentSecond);
  String currentMonthnameyear = String(currentMonthName) + "-" + String(currentYear);
  
  Serial.println();
  Serial.print("Time: ");
  Serial.println(currentTime);
  Serial.print("Date: ");
  Serial.println(currentDate);
  Serial.print("Month & Year: ");
  Serial.println(currentMonthnameyear);
  Serial.println("");
  delay(2000);
}
