2013-02-20 60 views
33

Tôi đang chạy một trang web được nhắm mục tiêu theo thế giới, nơi mọi người từ khắp nơi trên thế giới đến thăm. Cơ sở dữ liệu chứa thời gian ở định dạng Ngày Quốc tế Dòng Miền Tây. Tôi đang sử dụng múi giờ của người dùng bằng JavaScript và chuyển đổi thời gian trong cơ sở dữ liệu thành thời gian của người dùng và sau đó hiển thị trên trang. Tôi muốn hỏi đó là Ngày Quốc tế Dòng Tây là định dạng chính xác cho trang web cấp thế giới? Hoặc thiết lập để UTC hoặc GMT sẽ tốt hơn? Và sự khác biệt giữa UTC và GMT và Ngày Quốc tế Dòng Tây là gì? Ba cái này có giống nhau không? Cuối cùng tôi nên đặt thời gian vào máy chủ của mình sẽ được chuyển đổi bằng cách sử dụng bù đắp múi giờ của người dùng?GMT có giống với UTC không?

+2

Từ hiểu biết của tôi, UTC là GMT nhưng không có tiết kiệm ban ngày. Tuy nhiên tôi đã học được từ lâu để tránh xa các vấn đề về thời gian trong ngày lộn xộn. – Servy

+1

Có câu trả lời ngắn gọn. Câu trả lời dài không. GMT không bao giờ có "tiết kiệm ban ngày", sau đó nó được gọi là "BST" hoặc tên khác, do đó, đó không phải là một vấn đề. Điều chính là GMT và UTC có thể thay đổi tùy theo tối đa nhưng không quá 500ms. –

+0

@Servy - Ở Anh khi Tiết kiệm ánh sáng ban ngày khởi động, chúng tôi di chuyển múi giờ sang BST (tức là GMT + 1). – Quentin

Trả lời

19

Nếu bạn quan tâm đến các quan sát thiên văn, ví dụ như vệ tinh như GPS, hoặc nếu bạn muốn trích dẫn một tiêu chuẩn kỹ thuật (ITU-R TF.460-6), thì bạn có thể quan tâm rằng chúng tôi sử dụng UTC và rằng GMT không còn có định nghĩa chính xác nữa. Nếu không, bạn có thể xem xét GMT là giống như UTC, và cũng xem xét UT và UT1 giống như UTC - mà về mặt kỹ thuật chúng không phải là.

Ngoài ra, nếu bạn đang theo dõi tội phạm máy tính hoặc hoạt động phân tán khác, bạn cần phải xác định xem các sự kiện nhất định tại các trang web khác nhau có thể xảy ra hay không trước một số sự kiện khác. Với mục đích đó, bạn sẽ muốn tìm hiểu và sử dụng Network Time Protocol (NTP). Điều đó sẽ có ảnh hưởng lớn hơn nhiều đến sự hiểu biết của bạn về thời gian hơn là sự khác biệt nhỏ giữa UTC, UT1 và UT.

"Ngày quốc tế dòng phương Tây" chỉ là một tên thân thiện cho múi giờ nơi thời gian được xác định là mười hai giờ dưới UTC (nghĩa là UTC-12).

+1

Tên thân thiện như thế nào? Tôi đã mong đợi UTC + 12 (ví dụ: Suva) – Jasen

+0

Nó không trả lời câu hỏi. Có giống nhau hay không? –

+0

Rất tiếc, tôi đã sử dụng đại từ "cái nào" và "chúng" theo cách không rõ ràng. Tôi đã suy nghĩ của tất cả các "GMT" (theo định nghĩa như, thời gian mặt trời trung bình tại kinh tuyến Greenwich), UTC, UT1 và "UT" (bởi bất kỳ định nghĩa nào khác của nó như UT0). Trong khi tất cả những điều này gần đúng nhau, phần lớn thời gian giá trị chính xác của chúng đều khác nhau. – minopret

28

UTC là tên mới của GMT. Nó có sự khác biệt rất nhỏ, nhưng không có gì sẽ ảnh hưởng đến bạn trong kịch bản đó.

Nhận xét của Servy hoàn toàn sai khi nói rằng GMT bao gồm tiết kiệm ánh sáng ban ngày. Đó là một múi giờ khác gọi là BST mà Vương quốc Anh chuyển từ GMT vào mùa hè.

+2

UTC sử dụng giây nhuận để bù cho sự bất thường của trái đất và chuyển động của mặt trời, điều này có nghĩa là đôi khi một phút trong UTC có thể có 59 hoặc 61 giây. Tuy nhiên, bởi vì nó dựa trên kinh độ 0 độ, đi qua Đài quan sát Greenwich, nó thường xảy ra với GMT. Lưu ý rằng UTC không có thời gian tiết kiệm ánh sáng ban ngày. – cernunnos

+1

Còn ngày quốc tế thì sao? Bạn có thể cho tôi biết đó là gì không? –

+0

Đó là một cách dễ tìm trên google :) http://en.wikipedia.org/wiki/International_Date_Line – cernunnos

1

Thông thường khi bạn phải trình bày ngày hoặc giờ cho những người ở các múi giờ khác nhau, bạn nên lưu tất cả thông tin thời gian vào UTC trên cơ sở dữ liệu của bạn và chuyển nó sang múi giờ của người dùng trên lớp hiển thị (khi bạn trình bày thông tin người dùng của bạn)

Tuy nhiên bạn sẽ tìm thấy một vài thách thức: - các múi giờ bạn nhận được từ javascript có thể không đáng tin cậy - tìm vị trí của người dùng thông qua IP và sau đó nhận được múi giờ cũng là không đáng tin cậy

Một cách tiếp cận tốt trong quan điểm của tôi là sử dụng "phỏng đoán tốt nhất" để tìm múi giờ mặc định (javascript múi giờ sẽ đủ) và cung cấp cho người dùng khả năng chủ động định cấu hình múi giờ của mình. Trên một số ứng dụng google, cách tiếp cận của họ là nhắc người dùng cho múi giờ của mình trước khi bắt đầu, điều này chỉ được thực hiện khi bạn có thể đảm bảo rằng bạn không phải lặp lại điều này mỗi khi người dùng truy cập trang web của bạn (thông qua tài khoản người dùng hoặc cookie)

+0

Nhưng trong trường hợp đó, chúng tôi phải đặt cookie cho mục đăng ký và đăng ký cơ sở dữ liệu để đăng ký. Nhưng theo kinh nghiệm của tôi, một số người thậm chí không biết múi giờ là gì? ... sau đó những gì về họ .. Vì vậy chúng tôi muốn chăm sóc của tất cả những vấn đề này –

+0

Bạn missunderstood. Tất cả thông tin ngày giờ được lưu dưới dạng UTC trong cơ sở dữ liệu. Khi người dùng truy cập vào trang web của bạn, bạn chuyển đổi thông tin thời gian ngày đó vào múi giờ của người dùng. Ý tưởng là để đảm bảo anh ta không cần phải biết nhiều về múi giờ, tất cả các ngày tháng và thời gian trình bày cho anh ta là trong múi giờ của mình. – cernunnos

+0

Tôi không nghĩ vậy ... bởi vì cơ sở dữ liệu của tôi không tiết kiệm thời gian trong UTC. Nó tiết kiệm trong thời gian địa phương của tôi. đó là thời gian Ấn Độ. –

Các vấn đề liên quan