Do đó, bạn có thể đặt múi giờ cho thời lượng của truy vấn:
TZ=America/New_York date
Lưu ý khoảng trắng giữa TZ
cài đặt và date
lệnh. Trong rc
shell giống như Bourne, nó chỉ đặt TZ
biến cho dòng lệnh. Trong vỏ khác ( csh
, tcsh
, fish
), bạn luôn có thể sử dụng các env
lệnh thay vì:
env TZ=America/New_York date
tl; dr
Trên các hệ thống Linux. múi giờ được xác định trong các tập tin trong /usr/share/zoneinfo
thư mục. Cấu trúc này thường được gọi là "cơ sở dữ liệu Olson" để tôn vinh người đóng góp sáng lập của nó.
Các quy tắc cho mỗi múi giờ được định nghĩa là các dòng tệp văn bản sau đó được biên dịch thành tệp nhị phân. Các dòng được biên dịch, xác định tên khu vực; một phạm vi dữ liệu và thời gian trong đó khu vực áp dụng; một phần bù từ UTC cho thời gian tiêu chuẩn; và ký hiệu để xác định cách thức chuyển đổi sang và từ thời gian tiết kiệm ánh sáng ban ngày xảy ra, nếu có.
Ví dụ: thư mục "America" chứa thông tin cần thiết cho New York trong tệp America/New_York
như được sử dụng ở trên.
Xin lưu ý rằng đặc điểm kỹ thuật của vùng không tồn tại (tên tệp) bị âm thầm bỏ qua và thời gian UTC được báo cáo. Ví dụ: điều này báo cáo một thời gian không chính xác:
TZ="America/New York" date ### WRONG ###
Đặc tả UNIX đơn, phiên bản-3, được gọi là SUSv3 hoặc POSIX-2001, lưu ý rằng đối với tính di động, chuỗi ký tự xác định mô tả múi giờ nên bắt đầu bằng ký tự dấu hai chấm. Vì vậy, chúng ta cũng có thể viết:
TZ=":America/New_York" date
TZ=":America/Los_Angeles" date
Là một phương pháp thay thế cho đặc tả của các múi giờ bằng cách sử dụng tên đường dẫn đến tệp mô tả, SUSv3 mô tả mô hình POSIX. Trong định dạng này, một chuỗi được định nghĩa là:
std offset [dst[offset][,start-date[/time],end-date[/time]]]
trong đó std
tên thành phần tiêu chuẩn và dst
là tên tiết kiệm ánh sáng ban ngày. Mỗi tên bao gồm ba hoặc nhiều ký tự. Giá trị offset
dương cho các múi giờ ở phía tây kinh tuyến gốc và âm cho các phía đông của kinh tuyến. Phần bù được thêm vào giờ địa phương để lấy UTC (trước đây gọi là GMT). Các trường start
và end
thời gian cho biết khi chuyển đổi tiêu chuẩn / ánh sáng ban ngày xảy ra.
Ví dụ, ở Hoa Kỳ, thời gian tiêu chuẩn sớm hơn UTC 5 giờ và chúng tôi có thể chỉ định EST5EDT
thay cho America/New_York
. Những lựa chọn thay thế này không phải lúc nào cũng được công nhận, tuy nhiên, đặc biệt là đối với các khu vực bên ngoài Hoa Kỳ và tốt nhất nên tránh.
HP-UX (một UNIX tuân thủ SUSv3) sử dụng các quy tắc văn bản trong /usr/lib/tztab
và các tên POSIX như EST5EDT, CST6CDT, MST7MDT, PST8PDT. Tệp bao gồm tất cả các quy tắc lịch sử cho từng múi giờ, gần giống với cơ sở dữ liệu Olson.
LƯU Ý: Bạn sẽ có thể tìm thấy tất cả các múi giờ bằng cách kiểm tra thư mục sau : /usr/share/zoneinfo
.