เจอปัญหาว่า เขียน PHP ใช้ function date เพื่อแสดงเวลาดังนี้
echo date("H:i:s");
?>
ซึ่งเวลาของ Server เป็น 10:15:20
แต่เวลาที่ระบบแสดงออกมา เป็น
11:15:20
ซึ่งเวลา จะแตกต่างออกไป 1 ชั่วโมง ปัญหาอยู่ที่ว่า ทำไมเดือนก่อนหน้านี้ไม่เป็น แต่พอเป็นเดือนนี้ (มิถุนายน) เวลาเกิดเร็วไป 1 ชั่วโมงซะงัี้น ทั้งๆที่ไม่เปลี่ยนแปลง Code ใดๆเลย ?!?!?!?!?!
ผมลองใช้ คำสั่ง
echo gmdate("H:i:s");
เพื่อแสดงเวลามาตราฐาน Greenwich Mean Time ปรากฏว่า ได้เวลาออกมาเป็น
03:15:20
ซึ่งก็ถูกต้อง แต่ทำไมคำสั่ง date() ให้เวลาไม่ตรงในเดือนนี้ ????
จากการตรวจสอบ พบว่า ใน
C:\Windows\php.ini
มีตัวแปรชื่อว่า date.timezone ไม่ได้ตั้งค่าเอาไว้
ผมเลยลองบังคับให้เป็น
date.timezone="Asia/Bangkok"
แล้ว restart IIS
ปรากฏว่า เวลากลับมาถูกต้องแล้วครับ
ลองเอาไปทำดูนะครับ
ที่มา http://share.psu.ac.th/blog/kx-note/7040