2010-12-15 20 views
5

Tôi muốn có thể nhận được thời gian của người sử dụng tập lệnh PHP.Xác định thời gian và ngày của người dùng trong PHP

Tôi không biết những gì múi giờ họ sẽ được ở vv

Có không phải là một cách để chỉ nói 'có được thời gian của người sử dụng' chứ không phải là thiết lập múi giờ?

+2

Làm thế nào php biết được múi giờ của người đó? –

+2

Đó là câu hỏi của anh ấy. –

Trả lời

7

số Chỉ có ba cách để có được những múi giờ của người sử dụng:

  1. Hỏi người dùng

  2. Sử dụng JavaScript để kiểm tra thời gian phía máy khách và gửi nó vào máy chủ của bạn với yêu cầu AJAX, cookie, v.v. - chỉ hoạt động nếu JS được bật và không hoạt động đối với yêu cầu đầu tiên

  3. Sử dụng cơ sở dữ liệu IP-to-location để định vị người dùng và xác định múi giờ của họ từ vị trí - hơn 5% thời gian với bất kỳ cơ sở dữ liệu thương mại nào, vị trí của bạn ở cấp thành phố sẽ bị sai

+2

+1 # 2 (JavaScript) là cách tiếp cận chính xác. – Asaph

+3

Tất cả các phương pháp đều hữu ích và # 1 là chính xác thường xuyên như # 2. Chính xác là một khái niệm nhạy cảm về ngữ cảnh! Nếu ai đó đăng ký và ứng dụng của bạn cung cấp báo cáo theo thời gian cụ thể, bạn nên hỏi họ về múi giờ mà họ muốn hiển thị báo cáo, chứ không phải do JavaScript hoặc bất kỳ phương tiện nào khác đoán. JavaScript không chỉ luôn có sẵn, nhưng múi giờ của máy tính không phải lúc nào cũng là múi giờ chính xác - đi du lịch ở một quốc gia khác, mượn máy tính của người khác, chỉ cần đặt đồng hồ sai, v.v. –

+3

# 1 là tốt nhất, nếu khả thi; javascript thường không đúng, nhưng mọi người thường biết chúng ở đâu. –

1

người dùng tập lệnh php.

Đó là máy chủ web. Nếu bạn có nghĩa là người yêu cầu tập lệnh PHP, bạn không biết múi giờ của họ trừ khi họ đủ tốt để gửi cho bạn. Firefox không xuất hiện, mặc dù một số có thể.

Câu trả lời ở đây là sử dụng Javascript để có thời gian địa phương và thực hiện những gì cần thực hiện ở phía máy khách hoặc gửi cho máy chủ bằng cách nào đó - nhưng đó là một câu hỏi khác.

5

Không, không có. Điều duy nhất bạn biết về người dùng của mình "miễn phí" là những gì có thể được truyền đạt thông qua HTTP protocol và điều đó không bao gồm "múi giờ của người dùng".

Bạn có thể sử dụng Javascript để có thời gian từ trình duyệt, nhưng điều đó không được đảm bảo chính xác.

Bạn có thể cố định vị trí người dùng, nhưng điều đó thậm chí còn kém chính xác hơn.

Người dùng sẽ biết rõ nhất mình, hãy hỏi anh ấy.

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