의 마지막 날을 반환하지 : 그것은 대부분의 일을PHP DateInterval 내가 다음 코드를 사용하고 월
public static function getDays($day, $m, $y) {
$days = new DatePeriod(
new DateTime("first $day of $m $y"),
DateInterval::createFromDateString('next ' . $day),
new DateTime("last day of $m $y")
);
foreach ($days as $day) {
$dates[] = $day->format("Y-m-d");
}
return $dates;
}
. 나는 범위를 지정하고 범위 안쪽에있는 매일의 날짜를 반환합니다.
사용법 :
foreach(General::getDays('friday',$this->_uri[2],$this->_uri[3]) as $date) {
var_dump($date);
}
7 월 2013 년이 2013 년 7 월 올바른 사 개 결과를 모두 금요일의 반환
: 한 달에string '2013-07-05' (length=10)
string '2013-07-12' (length=10)
string '2013-07-19' (length=10)
string '2013-07-26' (length=10)
그러나 마지막 날 경기에인지 내가 (예를 들어, 금요일, 2014 년 1 월 1 일) 반환 된 결과에서 매월 마지막 날을 그리워합니다.
이string '2013-05-03' (length=10)
string '2013-05-10' (length=10)
string '2013-05-17' (length=10)
string '2013-05-24' (length=10)
사람이에 대한 답변이 있습니까 : 금요일 인 물론 31 누락
2013년 5월 결과? 이 클래스에서 DateInterval을 잘못 사용했거나 오류가 있습니까?
제외되는 경우에
DatePeriod::EXCLUDE_START_DATE
옵션을 사용하지 않는¹을 운이 좋으면 자정이 아닌 "낮과 밤"을 선택하십시오. '<'vs'<='비교로 인해 펑키 한 일이 일어날 수 있습니다. 간단히 DST 문제가있을 수 있다고 생각했지만 그게 잘못된 달입니다 ... – Floris