我一直在辯論是否使用日期函數,或者是否有一個更清晰的方法來創建一個給定的一天的分鐘數組,我的代碼是這樣讀的;正確的方式來制定一個時間表
function emptySchedule()
{
$emptySchedule = [];
for ($h = 0; $h < 24; ++$h) {
for ($m = 0; $m < 60; ++$m) {
$emptySchedule[str_pad($h, 2, '0', STR_PAD_LEFT).':'.str_pad($m, 2, '0', STR_PAD_LEFT)] = [];
}
}
return $emptySchedule;
}
但它只是感覺髒,有沒有更好的方法來達到同樣的效果,或者一個更好的方式與約會對象來處理在當天幾分鐘甚至更好的全球公認的正確辦法?我不想使用一個軟件包,但如果有一個很好的軟件包,我可以使用它。
編輯;在某些情況下,我會將數組放入當天的每一分鐘。
EDIT2:爲了這將用於什麼沒有任何輸入的需要,我的最終功能是;
public function emptySchedule()
{
$startDate = date_create("today"); //Any start date works
$endDate = date_create("tomorrow"); //Any end date works
$step = new \DateInterval("PT1M"); //1 minute, can change
$date = $startDate;
$times = [];
while ($date <= $endDate) {
$times[$date->format("H:i")] = [];
$date = $date->add($step);
}
return $times;
}
並非所有的日子在24小時...!僅僅因爲這個原因,你應該使用日期函數。 – deceze
夏令時沒有發生在我身上,我完全喪失瞭解決這個問題的方式,可能需要一個清新的早晨喝咖啡,我正在工作的最後一個小時,非常疲憊! ! –
Robert,請向我們展示一個理想的輸出示例以幫助解決問題。 – calexandre