2009-06-19 30 views

Trả lời

3

Như đã nói, chức năng ngày javascript phụ thuộc vào máy của khách hàng. Tuy nhiên nếu bạn muốn nhận được một ngày có thẩm quyền, bạn có thể thực hiện và yêu cầu ajax đến máy chủ của bạn mà chỉ trả về chuỗi ngày tháng. Sau đó, bạn có thể chuyển đổi chuỗi ngày thành đối tượng ngày với

var ds = ... // Some ajax call 
var d = new Date(ds); 
3

Các phương pháp thực hiện những gì chúng được làm tài liệu để thực hiện. Cách tốt nhất để nhận được thông tin UTC rõ ràng là sử dụng các phương pháp tính theo giờ UTC:

getUTCFullYear(), getUTCMonth(), getUTCDate() vv

2

hay, Javascript là một ngôn ngữ phía máy khách, họ đều phụ thuộc vào những gì máy khách có ngày được đặt thành.

Vâng, điều này là chính xác.

Nếu nó phụ thuộc vào máy khách, cách tốt nhất để có được thời gian phổ biến chính xác là gì?

Để nhận thời gian/ngày từ nguồn có thẩm quyền, không phải từ máy khách.

+0

Dữ liệu thời gian của khách hàng không đáng tin cậy cho các ứng dụng quan trọng. Nhưng tôi nghĩ OP đã biết điều đó. –

+2

Có nguồn có thẩm quyền nào cho thấy API không? – rick

+0

Tốt nhất bạn nên tự làm điều đó bằng cách đồng bộ hóa máy chủ của mình bằng cách sử dụng ntp. –

8

Javascript chỉ biết nhiều về thời gian chính xác như môi trường hiện đang chạy bên trong và Javascript là client-side.

Vì vậy, Javascript là lúc lòng thương xót của người dùng có thời gian chính xác, VÀ múi giờ, cài đặt trên máy tính mà họ đang duyệt.

Nếu người dùng có múi giờ không đúng, nhưng thời gian chính xác, thì các chức năng tùy thuộc vào múi giờ như getUTCDate() sẽ không chính xác.

Nếu người dùng có thời gian không chính xác, thì tất cả các hàm liên quan đến thời gian trong Javascript sẽ không chính xác.

Tuy nhiên, người ta có thể tranh luận rằng nếu người dùng muốn thời gian chính xác trên máy tính của họ, họ đã đặt đúng thời gian. Việc truy cập vào đó là người dùng có thể không biết cách thực hiện điều đó.

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