Trong tài liệu hướng dẫn PHP, list of supported time zones, UTC
được liệt kê hai lần:Có sự khác biệt giữa múi giờ UTC và Etc/UTC không?
UTC
Etc/UTC
Có sự khác biệt về khái niệm giữa hai, hoặc là họ chỉ đồng nghĩa?
Trong tài liệu hướng dẫn PHP, list of supported time zones, UTC
được liệt kê hai lần:Có sự khác biệt giữa múi giờ UTC và Etc/UTC không?
UTC
Etc/UTC
Có sự khác biệt về khái niệm giữa hai, hoặc là họ chỉ đồng nghĩa?
Etc/UTC
là chỉ định cho múi giờ có tên hiển thị là UTC
. Tức là, chúng là tên dài và ngắn trong cùng một múi giờ, trên mỗi IANA's time zone database.
Đó không phải là cách tôi hiểu tài liệu này: "Ví dụ, TZ = 'Etc/GMT + 4' sử dụng chữ viết tắt" GMT + 4 "và tương ứng với 4 giờ sau UTC (tức là phía tây Greenwich) mặc dù nhiều người sẽ mong đợi nó đến có nghĩa là 4 giờ trước UTC (tức là phía đông của Greenwich). " Vì vậy, nó đi ngược lại, và trừ khi UTC làm điều này là tốt, họ đang thực sự đối lập! – Benjamin
@ Benjamin: Chúng tôi đang nói về múi giờ UTC có chênh lệch bằng 0. Số không dương và số không âm có cùng số và không có bù trừ nào. –
Tôi hiểu điều đó, nhưng câu hỏi của tôi áp dụng như nhau cho 'Etc/GMT + 1'. Tôi ngạc nhiên rằng chỉ có các phiên bản' Vv' được đề xuất, nơi tôi nghĩ rằng sự đồng thuận chung là sử dụng GMT + 1, chứ không phải các phiên bản "đảo ngược"! – Benjamin
ETC/GMT + 4 giống như GMT-4.
public static void main(String[] args) {
TimeZone tz = TimeZone.getTimeZone("Etc/GMT-7");
System.out.println(tz);
tz = TimeZone.getTimeZone("GMT+7");
System.out.println(tz);
}
Bạn có thể tự mình thử nghiệm.
Nhưng tôi không biết những gì ETC nghĩa ..
Thứ nhất, để trả lời câu hỏi:
There is NO chênh lệch giữa UTC
và Etc/UTC
múi giờ.
Etc/UTC
là một múi giờ trong Olson-múi giờ-cơ sở dữ liệu (tz database), còn được gọi là IANA-timezones-database, trong đó tất cả các múi giờ phù hợp với một quy ước đặt tên thống nhất: Area/Location
.
Vì, một số múi giờ không thể được quy cho bất kỳ Khu vực nào trên thế giới (ví dụ: lục địa hoặc đại dương), Khu vực đặc biệt Etc
(Etcetera) đã được giới thiệu. Điều này áp dụng chủ yếu cho múi giờ quản trị như UTC
.
Do đó, để phù hợp với quy ước đặt tên, thời gian phối hợp chung (vùng) được đặt tên là Etc/UTC
trong cơ sở dữ liệu tz.
Đối với múi giờ quản trị khác với UTC (ví dụ: GMT+4
, GMT-8
), cơ sở dữ liệu tz sử dụng POSIX-style signs trong tên khu vực. POSIX có các dấu hiệu tích cực cho các vùng nằm phía sau Greenwich (phía tây Greenwich) và các dấu hiệu tiêu cực cho các khu phía trước Greenwich (phía đông Greenwich).
Dấu hiệu kiểu POSIX trong múi giờ ngược với định nghĩa về múi giờ trong ngày nay phổ biến rộng rãi và được sử dụng nhiều nhất là ISO 8601. Theo định dạng múi giờ ISO 8601, các dấu hiệu âm cho biết một vùng nằm sau UTC (phía tây Greenwich) và các dấu hiệu dương cho biết một vùng phía trước UTC (phía đông của Greenwich). Đây là những gì đã trở thành tiêu chuẩn sử dụng hiện nay.
Lý do có thể cho định nghĩa ngược lại trong POSIX là:
"Etc" là từ viết tắt của "Etcetera", mà trong trường hợp này là một nhóm cho các múi giờ không phù hợp với bất kỳ nhóm nào khác "còn lại". –
@chinoto: Bạn đang cố gắng nói gì với tôi? Đó là chính xác những gì tôi giải thích trong câu trả lời của tôi (trong số những thứ khác). Bạn đã đọc câu trả lời của tôi trước khi bình luận chưa? –
Tôi không chắc tại sao tôi lại đưa ra nhận xét đó ... Tôi nhớ đã làm điều đó, nhưng không nơi nào trên trang này là bất cứ ai không chắc chắn "Etc" có ý nghĩa gì, khá kỳ quặc. –
Từ trang: "Vui lòng không sử dụng bất kỳ múi giờ nào được liệt kê ở đây (ngoài UTC), chúng chỉ tồn tại vì các lý do tương thích ngược". - Tôi tự hỏi liệu nó có bao gồm 'Etc/UTC' không? –
Có lẽ: Theo dõi câu trả lời của [câu trả lời của chrisbulmer] (http://stackoverflow.com/a/14128617/759866), tôi nghi ngờ nó sẽ không chuẩn! – Benjamin