2009-10-23 36 views
30

Tôi có lịch được xây dựng bằng JavaScript so sánh ngày với PHP. Đối tượng ngày JavaScript được đặt bằng PHP, nhưng khi tôi so sánh các ngày trong tương lai, chúng dường như không đồng bộ.GMT và UTC ngày

PHP được đặt thành GMT và JavaScript được đặt thành UTC; làm thế nào để các tiêu chuẩn này khác nhau, và điều này có thể gây ra vấn đề?

+8

Cho mục đích thực tế (và chắc chắn tất cả các trường hợp máy tính sẽ thấy), GMT là UTC. Vấn đề múi giờ của bạn nằm ở nơi khác. Hãy xem một số mã. – bobince

Trả lời

31

Từ Coordinated Universal Time trên Wikipedia:

phối hợp quốc tế (UTC) là một tiêu chuẩn thời gian dựa trên Thời gian nguyên tử quốc tế (TAI) với bước nhảy vọt giây thêm trong khoảng thời gian bất thường để bù đắp cho quay chậm của Trái đất.

Từ Greenwich Mean Time trên Wikipedia:

UTC là một quy mô thời gian nguyên tử mà chỉ xấp xỉ giờ với một sự khoan dung của 0,9 giây

+17

Mà, cho bất kỳ ứng dụng nào cũng phải là một cái gì đó bạn có thể bỏ qua. Ngoại lệ là rất hiếm và những ngoại lệ này rất khó được viết bằng PHP. – Joey

+0

Đó phải là UT1 không phải GMT. – orome

+0

Quan trọng hơn: "[UTC] là một trong những người kế nhiệm liên quan chặt chẽ với Giờ chuẩn Greenwich (GMT). Với hầu hết các mục đích, UTC được coi là hoán đổi cho nhau với GMT, nhưng GMT không còn được xác định chính xác bởi cộng đồng khoa học" –

29

Một được đo từ mặt trời và một từ một atomic clock .

Vì mục đích của bạn, chúng giống nhau.

0

Sự khác biệt thực tế là nếu hệ thống được thiết lập để sử dụng UTC thì nó sẽ không tự động chuyển sang giờ tiết kiệm ban ngày trong khi bạn đặt múi giờ thành GMT thì có khả năng nó sẽ tự động chuyển sang BST trong mùa hè mà bạn không nhận thấy.

+0

nếu bạn đặt nó thành "GMT" nên ở đó. nếu bạn đặt nó thành "London", nó phải tuân theo quy tắc thời gian dân sự của miền địa phương chuyển sang BST vào mùa hè – Jasen

+0

@Jasen theo như tôi biết Luân Đôn không phải là múi giờ mà là một ngôn ngữ. Bạn có thể thiết lập một máy chủ cho miền địa phương London nhưng sau đó máy chủ sẽ báo cáo GMT là múi giờ của nó nửa năm và BST cho nửa còn lại. Tuy nhiên nếu bạn không thiết lập một miền địa phương thì nó sẽ chỉ báo cáo UTC quanh năm. Nếu bạn đang sử dụng Windows thì miền địa phương London bị nhầm lẫn gọi là GMT hoặc BST hoặc một cái gì đó mơ hồ vì một lý do nào đó. Nó chỉ là một toàn bộ các sâu bạn thực sự không muốn mở. – apokryfos

+0

Hoàn toàn đồng ý với các cửa sổ WRT. – Jasen

0

Đối với máy tính, GMT là UTC + 0 - vì vậy chúng tương đương nhau.

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