Espino32 อยากทราบเรื่อง NTP


อยากถามว่าตั้งเวลา เป็นของกรุงเทพ GTM+7 แล้วทำไมเวลาชั่วโมงถึงไม่ตรงครับ
ต้องแก้ตรงไหนบ้างครับ ขอบคุณครับ

ลอง run code ชุดนี้ดูครับ

//------------------------------  ระบบเวลาและการเชื่อมต่อ Web Server  ของNTP Server  -----------------------------------------//
#include <time.h>
int timezone = 7 * 3600; //ตั้งค่า TimeZone ตามเวลาประเทศไทย
int dst = 0; //กำหนดค่า Date Swing Time


String now_time;
String dateTime;

//--- ใช้ตัวแปรชุดนี้กับทุก Task
int Day;
int Month;
int Year;

int THour;
int Tmin;
int Tsec;

int Day_name;//ตัวเลขระบุวัน //จ.=1 อ.=2 พ.=3 พฤ.=4 ศ.=5 ส.=6 อา.=0


//--------------------------------------------------------------------------------------------------------------------------


void setup() {

  //Serial.println("เข้า Loop NTP");
  configTime(timezone, dst, "1.th.pool.ntp.org", "0.asia.pool.ntp.org", "3.asia.pool.ntp.org"); //แสดงเวลาปัจจุบัน ดึงจากServer
  //Serial.println("\nWaiting for time");
  while (!time(nullptr)) {
    Serial.println("");
    delay(1000);
  }

}

void loop() {

  
  //------สร้างตัวแปร รับค่า ระบบเวลาจาก NTP--------------------------------------------------------------
    time_t now = time(nullptr);
    struct tm* p_tm = localtime(&now);

    now_time = "";
    now_time = now_time + p_tm->tm_hour;      // hour
    now_time = now_time + ":";                // hour:
    now_time = now_time + p_tm->tm_min;       // hour:min
    now_time = now_time + ":";                // hour:min:
    now_time = now_time + p_tm->tm_sec;       // hour:min:sec
    Serial.println(now_time);               // ส่งข้อความออกทาง Serial Monitor พร้อมขึ้นบรรทัดใหม่

    String now_day = "";
    now_day = now_day + p_tm->tm_mday;                   // year-mon-day
    now_day = now_day + "/";                             // year-mon-
    now_day = now_day + (p_tm->tm_mon + 1);              // year-mon
    now_day = now_day + "/";                             // year-
    now_day = now_day + (p_tm->tm_year + 1900 + 543);    // year



    Serial.println(now_day);               // ส่งข้อความออกทาง Serial Monitor พร้อมขึ้นบรรทัดใหม่
    dateTime = now_day + " ";                // day-mon-year
    //---------------------------------------------------------------------------------------------------------

    Day = p_tm->tm_mday;
    Month = (p_tm->tm_mon + 1);
    Year = (p_tm->tm_year + 1900 + 543);
    Serial.println(Year);

    THour = p_tm->tm_hour;
    Tmin = p_tm->tm_min;
    Tsec = p_tm->tm_sec;

    Day_name = (p_tm->tm_wday);//จ.=1 อ.=2 พ.=3 พฤ.=4 ศ.=5 ส.=6 อา.=0
    Serial.print("day_of_the_week = ");
    Serial.println(Day_name);
    //---------------------------------------------------------------------------------------------------------

}