เปลี่ยน 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

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

วิธีแก้ปัญหา putty เป็นภาษาต่างดาวหรือเครื่องหมาย ???

ประวัติต้นแดง

ตั้งเวลาใน crontab