ฉันจะเปลี่ยนเขตเวลาเป็น UTC / GMT ได้อย่างไร


109

ขณะนี้เมื่อฉันรันคำสั่ง date จาก bash ฉันได้รับการแสดงต่อไปนี้

Thu May 17 12:21:00 IST 2012

ด้านล่างคือการกำหนดค่าเขตเวลาของฉันตามการดำเนินการ dpkg-reconfigure tzdata

  เขตเวลาเริ่มต้นปัจจุบัน: 'ยุโรป / ดับลิน'
  เวลาท้องถิ่นอยู่ในขณะนี้: พ.ค. 17 12:32:52 IST 2012
  เวลาสากลคือในขณะนี้: พ.ค. 17 11:32:52 UTC 2012
  

ความคิดใดที่ฉันเปลี่ยนจาก IST เป็น UTC / GMT?

คำตอบ:


148

ความคิดใดที่ฉันเปลี่ยนจาก IST เป็น GMT?

หากต้องการเปลี่ยนเป็น UTC เพียงดำเนินการsudo dpkg-reconfigure tzdataเลื่อนไปที่ด้านล่างของรายการทวีปแล้วเลือกEtcหรือNone of the above; UTCในรายการที่สองเลือก หากคุณต้องการ GMT แทนที่จะเป็น UTC มันจะอยู่เหนือ UTC ในรายการนั้น :)


2
ใช่ ฉันหวังว่านี้จะเปิดใช้งานโดยค่าเริ่มต้น
wberry

1
หลังจากที่ฉันทำสิ่งที่คุณเขียนด้านบนและเปลี่ยนเขตเวลาเซิร์ฟเวอร์ของฉันยังคงมีเวลาผิดปกติฉันต้องรีสตาร์ทระบบหรืออะไร

6
ใน Ubuntu 14.04.1, คือEtc None of the above
f01

1
จากบรรทัดคำสั่งใน Ubuntu ลิงก์ต่อไปนี้จะให้คำสั่ง 1 บรรทัดที่ไม่สำคัญ: askubuntu.com/a/524362/182454
Dan Nissenbaum

เรียบง่าย! (จูบ) รักเลยขอบคุณ! ในการติดตั้งเซิร์ฟเวอร์ที่น้อยที่สุดเวลาอื่น ๆ ของเขตพื้นที่ไม่พร้อมใช้งานเพียงแค่ UTC ดังนั้นการติดตั้งจึงsudo apt install tzdataเป็นสิ่งจำเป็น!
เจ้าหน้าที่ EODCraft

48
sudo timedatectl set-timezone UTC

จะเปลี่ยนเขตเวลาของคุณเป็นระบบ UTC

คุณสามารถทำได้timedatectl list-timezonesเพื่อดูเขตเวลาทั้งหมดที่มี


ตัดตอนมาจากคำตอบของ @ MattJohnson บน SO

Zones like Etc/GMT+6ถูกย้อนกลับโดยเจตนาเพื่อให้เข้ากันได้กับมาตรฐาน POSIX ย้อนหลัง ดูความคิดเห็นในไฟล์นี้

คุณไม่จำเป็นต้องใช้โซนเหล่านี้ แต่คุณควรจะใช้โซนเวลาการตั้งชื่ออย่างเต็มที่เหมือนAmerica/New_YorkหรือEurope/Londonหรือสิ่งที่มีความเหมาะสมสำหรับตำแหน่งของคุณ อ้างถึงรายการที่นี่


10

ในแบบ Un * x แบบเก่า (SunOS, HPUX ... ) คุณสามารถทำได้:

ln -fs /usr/share/zoneinfo/UTC /etc/localtime

ตรวจสอบเนื้อหาของ / usr / share / zoneinfo เพื่อรับเขตเวลาที่คุณต้องการ / ต้องการ

ตัวอย่างเช่น Irish Summer Time (IST) สามารถกำหนดเป็น

-rw-r--r-- 1 root root 3661 Mar 13 22:18 /usr/share/zoneinfo/posix/Eire

หรือ

lrwxrwxrwx 1 root root 13 Mar 13 22:18 /usr/share/zoneinfo/Europe/Dublin -> ../posix/Eire

อย่างไรก็ตามสิ่งที่สำคัญที่สุดคือการใช้การอ้างอิงนาฬิกาที่เหมาะสมและ ntp daemon (openntpd เป็นต้น) เนื่องจากเขตเวลาใช้สำหรับแสดง / แปลงเวลาเป็นสตริงเท่านั้นไม่เก็บ (ไม่ว่าเขตเวลาจะแตกต่างกับ 01/01 / 1970 มีอยู่ทุกที่บนโลก)


ฉันสามารถใช้นี้เพื่อเปลี่ยน UTC ไปยังเอเชีย / โกลกาตาด้วย .. sudo rm /etc/localtime(ฉันมีไฟล์นี้แล้วจึงไม่สามารถสร้าง symlink sudo ln -s /usr/share/zoneinfo/Asia/Kolkata /etc/localtimeด้วยคำสั่งต่อไปดังนั้นฉันลบมันเป็นครั้งแรก) ฉันคิดว่านี่น่าจะเป็นคำตอบทั่วไป
Ajeeb.KP

5

อะไรแบบนี้?

$ date
Wed Jul 16 22:52:47 EDT 2014

$ cat /etc/timezone
America/New_York

$ sudo dpkg-reconfigure tzdata
$ service cron stop && service cron start

4

อัปเดตสำหรับ 14.04 ถึงปัจจุบัน

ดูเวลาและวันที่สถานะ:

$ timedatectl status
                      Local time: Sun 2018-07-29 15:26:03 BST
                  Universal time: Sun 2018-07-29 14:26:03 UTC
                        RTC time: Sun 2018-07-29 14:26:03
                       Time zone: Europe/London (BST, +0100)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

ดูรายการเขตเวลา:
เขตเวลาที่ระบุ (425)

$ timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
...
Pacific/Tongatapu
Pacific/Wake
Pacific/Wallis
UTC

ตั้งค่าเขตเวลาเป็น UTC:

$ timedatectl set-timezone UTC

ดูเวลาและวันที่สถานะ:

$ timedatectl status
                      Local time: Sun 2018-07-29 14:46:27 UTC
                  Universal time: Sun 2018-07-29 14:46:27 UTC
                        RTC time: Sun 2018-07-29 14:46:27
                       Time zone: UTC (UTC, +0000)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no*

เฮ้คุณช่วยฉันตั้ง timezone UTC + 06: 00 ได้ไหม ขอบคุณ
Md Alamin

ฉันขุดไปรอบ ๆ แล้ว แต่ set-timezone อนุญาตให้คุณตั้งเขตเวลาใน list-timezones ที่มีอยู่เท่านั้นคุณไม่สามารถใช้ตัวดัดแปลงหรือออฟเซ็ตได้ อาจมีอีกวิธีหนึ่งในการตั้งค่า UTC + 06: 00 แต่ฉันไม่พบ ... ควรถามฟอรัมด้วยคำถามใหม่
Broadsworde

เฮ้ฉันแก้ไขมันแล้วsudo timedatectl set-timezone Asia/Dhakaขอบคุณ
Md Alamin

1
ฉันเข้าใจผิดความต้องการของคุณ ... มีเขตเวลาจำนวนมากในชุดรายการเขตเวลาที่ใช้ได้ซึ่งตรงกับ UTC + 06: 00 ฉันคิดว่าคุณกำลังมองหาวิธีในการใช้ออฟเซ็ต UTC ทั่วไปที่ไม่ใช่ทางภูมิศาสตร์ ดีใจที่คุณพบสิ่งที่คุณกำลังมองหา
Broadsworde
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.