2012-03-29 41 views
1

有沒有辦法在PHP中獲取日出和日落時間,而無需處理Zenith和GMT偏移?在PHP中獲取城市日落/日出時間的簡單方法

功能date_sunrise()date_sun()要求天頂和格林威治標準時間,我不想處理。

理想情況下,我會簡單地寫someSunriseFunction(<latitude>, <longitude>, <timezone>)someSunriseFunction(34.30, -118.15, 'EST')將用於洛杉磯。

謝謝。

+0

日出發生在不同日子的不同時間。你的函數應該返回什麼? – kirilloid 2012-03-29 08:15:41

回答

6

時區對這個功能來說是沒用的。該信息已包含在經緯度中。你需要的是位置和一個時間戳,因爲太陽在一年的不同時間在不同的時間設置和上升。

而這正是date_sun_info爲您提供:

date_sun_info (int $time , float $latitude , float $longitude) 
0

不幸的是沒有簡單的方法來利用上述的日出和日落。計算中有很多。完整的計算可以在這裏找到:http://en.wikipedia.org/wiki/Sunrise_equation#Complete_calculation_on_Earth

如果它可能更容易給予用戶Zenith,GMT,LAtitude和經度預定義的城市列表。這可以是一些平面文件,對象或數據庫驅動。

我已經使用這個,並使用腳本來抵消夏令時間

+0

如果您的PHP版本大於或等於5.1.2,deceze確實會提供一個很好的選擇。現在大多數服務器應該在哪裏。 – 2012-03-29 08:18:14