เปลี่ยน Time Zone บน Ubuntu
เช็คดูวันที่ก่อน
$ date
ถ้าขึ้นเป็น EDT ก็ให้เปลี่ยนเป็น ICT
แบ็คอัพ localtime ไว้ก่อน
$ sudo cp /etc/localtime /etc/localtime.org
ทำลิงค์ตามนี้ เราจะเอาโซน Asia/Bangkok
$ sudo ln -sf /usr/share/zoneinfo/Asia/Bangkok /etc/localtime
ทำไม!..เวลาปิดเครื่อง แล้วบู๊ตขึ้นมา timezone ชอบเปลี่ยน
ไปเป็นค่าเดิมเสมอ เลยทำให้ web apps แสดงวันเดือนปี
ผิดไปครึ่งวัน
ลอง.....ตามล่างนี้ ไม่รู้เขาเรียกอะไร แต่อ่านเจอจะประมาณว่า
"การตั้ง system กับ hardware time ให้ตรงกัน"
โดยคำสั่งดังนี้
$ sudo /sbin/hwclock --systohc
ข้อมูลเพิ่มเติม
http://thaiadmin.org/board/index.php?topic=134523.5
http://www.thaiadmin.org/board/index.php?topic=1947.0
http://www.itdestination.com/freetips/showtip.php?00632
รีสตาร์ท apache2 ด้วย
$ sudo /etc/init.d/apache2 restart
หรือ
$ sudo service apache2 restart
ลอง cat /etc/timezone ดู แล้วยังเป็นภาษายึกยือ ให้ใช้คำสั่งนี้เข้าไปดูและแก้ไข
$ sudo dpkg-reconfigure tzdata
เลือก Asia > Bangkok แล้ว ok ไป
สิ่งที่ต้องวิเคราะห์
การเซทเวลาแบบนี้ อาจไม่มีผลกับ php หรือ apache
ให้ลองไปดู date.timezone = ใน php.ini ว่าเราควรกำหนดเป็นอะไร
เช่นเราอยู่กรุงเทพ/เอเชีย
$ sudo nano /etc/php5/apache2/php.ini
หากดูบรรทัด ;date.timezone =
หากจะแก้ไขให้เอา ; ข้างหน้าออก แล้วใส่ประมาณนี้
[Date]
; Defines the default timezone used by the date functions
date.timezone = Asia/Bangkok
แก้ไขใน php code ดังนี้
date_default_timezone_set('Asia/Bangkok');
date("H:i:s");
---------------------------------
ถ้าต้องการเช็ค timezone ว่าตอนนี้ timzone เราอยู่ประเทศอะไรก็...
ฝั่ง CentOS ใช้
# cat /etc/sysconfig/cloack
ฝั่ง Ubuntu ใช้
# cat /etc/timezone
$ date
ถ้าขึ้นเป็น EDT ก็ให้เปลี่ยนเป็น ICT
แบ็คอัพ localtime ไว้ก่อน
$ sudo cp /etc/localtime /etc/localtime.org
ทำลิงค์ตามนี้ เราจะเอาโซน Asia/Bangkok
$ sudo ln -sf /usr/share/zoneinfo/Asia/Bangkok /etc/localtime
ทำไม!..เวลาปิดเครื่อง แล้วบู๊ตขึ้นมา timezone ชอบเปลี่ยน
ไปเป็นค่าเดิมเสมอ เลยทำให้ web apps แสดงวันเดือนปี
ผิดไปครึ่งวัน
ลอง.....ตามล่างนี้ ไม่รู้เขาเรียกอะไร แต่อ่านเจอจะประมาณว่า
"การตั้ง system กับ hardware time ให้ตรงกัน"
โดยคำสั่งดังนี้
$ sudo /sbin/hwclock --systohc
ข้อมูลเพิ่มเติม
http://thaiadmin.org/board/index.php?topic=134523.5
http://www.thaiadmin.org/board/index.php?topic=1947.0
http://www.itdestination.com/freetips/showtip.php?00632
รีสตาร์ท apache2 ด้วย
$ sudo /etc/init.d/apache2 restart
หรือ
$ sudo service apache2 restart
ลอง cat /etc/timezone ดู แล้วยังเป็นภาษายึกยือ ให้ใช้คำสั่งนี้เข้าไปดูและแก้ไข
$ sudo dpkg-reconfigure tzdata
เลือก Asia > Bangkok แล้ว ok ไป
สิ่งที่ต้องวิเคราะห์
การเซทเวลาแบบนี้ อาจไม่มีผลกับ php หรือ apache
ให้ลองไปดู date.timezone = ใน php.ini ว่าเราควรกำหนดเป็นอะไร
เช่นเราอยู่กรุงเทพ/เอเชีย
$ sudo nano /etc/php5/apache2/php.ini
หากดูบรรทัด ;date.timezone =
หากจะแก้ไขให้เอา ; ข้างหน้าออก แล้วใส่ประมาณนี้
[Date]
; Defines the default timezone used by the date functions
date.timezone = Asia/Bangkok
แก้ไขใน php code ดังนี้
date_default_timezone_set('Asia/Bangkok');
date("H:i:s");
---------------------------------
ถ้าต้องการเช็ค timezone ว่าตอนนี้ timzone เราอยู่ประเทศอะไรก็...
ฝั่ง CentOS ใช้
# cat /etc/sysconfig/cloack
ฝั่ง Ubuntu ใช้
# cat /etc/timezone
ความคิดเห็น
แสดงความคิดเห็น