สำนักวิทยบริการและเทคโนโลยีสารสนเทศ

Office of Academic Resources and Information Technology

เมื่อเวลาของเซิร์ฟเวอร์ไม่ตรง


	
มักเกิดกับการใช้ PHP ต่างเวอร์ชั่นกัน หรือใช้เซิร์ฟเวอร์ของเมืองนอก ซึ่งเวลาตามที่ตั้งของ Server อาจไม่ตรงกับเวลาของประเทศไทย ซึ่งจะทำให้ PHP คืนค่าเวลาตามเวลาของ Server
 
วิธีนี้เป็นวิธีแก้ปัญหาที่ปลายเหตุ เนื่องมาจากเราอาจไม่สามารถแก้ไขเวลาของ Server ด้วยตัวเองได้ โดยให้เราอ่านค่าเวลาตามที่กำหนดของเราเอง
 
<?php
  $hour=+0; //จำนวนชั่วโมงที่ทด เป็น บวก หรือ ลบก็ได้
  $min=+0; //จำนวนนาทีที่ทด เป็น บวก หรือ ลบก็ได้ 
  $mmktime = mktime( date("H")+$hour, date("i")+$min ); // เวลาในรูป mktime ที่ทดแล้ว
  //วันที่ วันนี้
  $mtoday = date("d ", $mmktime);
  //เวลา ตอนนี้
  $mtime = date("H:i", $mmktime);
?>
 
ปรับตามค่าที่กำหนดใน $hour เป็น ชม. และ $min เป็น นาที ว่าเซิร์ฟเวอร์ของคุณ เร็วหรือช้ากว่าปกติ กี่ ชม. กี่ นาที
 
ในการอ่านค่าวันที่ควรอ่านค่าวันที่ เวลา จากตัวแปรนี้ทุกครั้ง หรือ อาจนำไปแปลงเป็นรูปแบบที่ต้องการก่อนใช้งาน
เว็บอ้างอิง  http://www.goragod.com