2011-12-22 30 views
6

Tôi có ngày của các sự kiện ở một quốc gia khác mà tôi cần lưu trong cơ sở dữ liệu. Vấn đề là những ngày đó không bao gồm thông tin múi giờ.Làm thế nào để tìm ra múi giờ của datetime cụ thể ở vị trí cụ thể?

Múi giờ được sử dụng tại vị trí này là CET (giờ chuẩn) hoặc CEST (giờ mùa hè).

Cách dễ nhất để phát hiện xem ứng dụng nào đang phát?

+0

Tôi không nghĩ rằng nó có thể làm điều này. Khi chúng tôi đặt đồng hồ trở lại một giờ, cho mỗi lần trong giờ đó, có một thời gian trong giờ chuẩn và một thời gian trong mùa hè sẽ xuất hiện giống nhau mà không có múi giờ bao gồm. –

Trả lời

3

Tôi không hoàn toàn chắc chắn những gì bạn đang yêu cầu. Tôi nghĩ rằng những gì bạn cần tìm hiểu là liệu một ngày cụ thể có được tiết kiệm ánh sáng ban ngày hay không. Nếu có, bạn có thể sử dụng date('I').

$dst_now = date('I'); // whether our current timezone is currently in DST 
$dst_then = date('I', strtotime($date)); // whether that date is in DST for our current timezone 

$date_obj = new DateTime($date, new DateTimeZone('Europe/Paris')); 
$dst_thereandthen = $date_obj->format('I'); 
// whether that date is in DST for that timezone 

Nếu những gì bạn cần là không ai trong số này, xin vui lòng làm rõ những gì bạn cần ...

+0

OK, tiêu đề có một chút gây hiểu nhầm. Đã sửa. Tuy nhiên bạn trả lời không giúp đỡ như mã này có thể cung cấp thông tin múi giờ đó là những gì tôi thực sự cần. –

1

Tôi cho rằng hàm date_default_timezone_get() sẽ cung cấp cho bạn thông tin bạn muốn, mặc dù tôi không hoàn toàn chắc chắn rằng nó có thể phân biệt giữa thời gian chuẩn/mùa hè.

date_default_timezone_get()

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