2010-02-12 29 views
5

Tôi biết điều này nghe có vẻ là một câu hỏi ngớ ngẩn, nhưng tôi không tìm thấy trong tài liệu PHP một nơi nào đó là họ nhà nước lớn và rõ ràng này.PHP ini date.timezone? Máy chủ hoặc múi giờ vị trí của khách hàng?

Tôi đã có một ứng dụng web.

Người sử dụng appliations web của tôi là ở châu Âu, nhưng máy chủ chạy appliation web là ở Mỹ.

Tôi nên đặt chỉ thị ini date.timezone ???

Tôi cho rằng đến nơi máy chủ nằm vì vậy nếu nó là ở New York: date.timezone = "America/New_York"

Nhưng tôi phải không?

+2

Không phải là một câu hỏi ngớ ngẩn nhưng đã được hỏi trước: http://stackoverflow.com/questions/1852223/mysql-keep-server-timezone-or-user-timezone http://stackoverflow.com/questions/1981387/which-is-the-best-time-settings-for-php-mysql-site http://stackoverflow.com/questions/346770/dealing-with-timezones-in-php –

+0

Đặt múi giờ thành New York đơn giản bởi vì máy chủ có vẻ như với tôi (sorta) như giữ một chiếc đồng hồ đặt ở Thượng Hải chỉ vì nó được làm ở đó. – GZipp

+0

@Pekka, cảm ơn! Sau khi đọc phần cuối cùng bạn đã đề xuất: http://stackoverflow.com/questions/346770/dealing-with-timezones-in-php Tôi đã thực hiện điều gì đó. Tôi nghĩ date.timezone có thể phá vỡ các ứng dụng hoặc một cái gì đó giữa PHP và MySQL nếu không được thiết lập đúng. Nhưng cuối cùng tôi đã hiểu nó có thể được thiết lập theo những gì tôi muốn. Vì vậy, tôi nghĩ rằng để làm theo các gợi ý được đưa ra trong liên kết cuối cùng, tôi đặt time.zone thành GMT 0 và khi cần hiển thị ngày/lần, tôi sử dụng kịch bản phía máy khách để chuyển đổi ngày/giờ. –

Trả lời

2

Theo những gì tôi đọc ở đây khoảng trên SO câu trả lời là:

  1. bộ PHP date.timezone ini thảm khốc ctive thành "UTC" (tức là 0)
  2. let PHP in trong trang lần ngày (UTC) như là một thời gian tem Unix đơn giản (một số)
  3. hãy Javacscript chuyển đổi tem thời gian tính theo giờ UTC Unix trong thời gian khách hàng bằng cách đơn giản thực hiện:

    Ngày mới (<? php echo DATE_TIME_SERVER_UTC;? > * 1000);

2

Tôi nghĩ rằng nó tốt hơn để thiết lập múi giờ địa phương của máy chủ hoặc múi giờ sử dụng UTC và sự thay đổi trong kịch bản sử dụng http://pl.php.net/manual/en/function.date-default-timezone-set.php Bạn có thể đặt múi giờ sang châu Âu/sth hoặc tính toán nó cho mỗi khách hàng sử dụng GeoIP hoặc JavaScript (chúng ta có thể)

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