Có cách nào lấy tên Múi giờ Canonical từ tập lệnh shell Linux không? ví dụ: nếu múi giờ được định cấu hình của tôi là PDT, thì tôi muốn nhận được "America/Los_Angeles".Lấy tên Múi giờ của Canonical trong tập lệnh shell
Tôi biết tôi có thể nhận được từ liên kết tượng trưng/etc/localtime nếu nó được cấu hình, nhưng vì nó có thể không được cấu hình trong tất cả các máy chủ, tôi không thể dựa vào đó.
Mặt khác, tôi có thể nhận được tên múi giờ ngắn với ngày lệnh +% Z, nhưng tôi vẫn cần tên chuẩn.
Có cách nào để lấy tên chuẩn của múi giờ hiện tại hoặc chuyển đổi múi giờ nhận được với ngày +% Z, ngay cả khi liên kết tượng trưng/etc/localtime không được đặt?
tôi sẽ nói 'PDT' là gần gũi hơn với một tên kinh điển, trong khi 'Mỹ/Los_Angeles' chỉ là một nhãn mô tả để giúp lập bản đồ vị trí vào múi giờ chính xác. – chepner
Tôi không nghĩ rằng điều này là có thể; một chữ viết tắt duy nhất, ngay cả khi được mở rộng rõ ràng (ví dụ: "Giờ ban ngày Thái Bình Dương"), có thể có nhiều mục nhập cơ sở dữ liệu TZ tương ứng. Ví dụ: PDT không chỉ là 'America/Los_Angeles', mà còn là' America/Dawson', 'America/Ensenada',' America/Sitka', 'America/Tijuana',' America/Vancouver', 'America/Whitehorse' và 'US/Pacific'. (Trong thực tế, nếu bạn không chỉ định rằng bạn muốn 'America/Los_Angeles', tôi sẽ giả sử bạn muốn' US/Pacific'.) – ruakh