수정이 :PHP 날짜 시간 - 내가 참조로 전달하는 기능에 DateTime 개체를 수정하기 위해 노력하고있어 참조
은<?php
$date = new DateTime('2012-02-12');
for($n1 = 0; $n1 < 10; $n1++) {
$date->modify('first day of next month');
setDate($date, 15);
echo $date->format('Y-m-d') . "<br />\n";
}
function setDate(&$date, $day) {
$date->setDate($date->format('Y'), $date->format('m'), $day);
}
?>
는하지만 결과는 예상과. 이 참조 자료에 뭔가 잘못 됐어?
EDIT : 예상 결과 : 상기 함수 2012-03-15 2012-04-15 ...
결과 : 2012-03-01 2012-04-01 ..
귀하의 결과/예상 결과는 무엇입니까? – Nick
나는 그 결과가 항상 그 달의 첫 번째를 보여준다는 것이 문제라고 생각한다. 코드가 다음 달 첫 번째 날짜로 설정 한 다음 날짜를 15 일로 설정해야합니다. 그러나 당신이 날짜를 출력 할 때, 그것은 15 일이 아니라 처음입니다. 다음 달 _first 일의 상대 진술을 한 번 사용한 것처럼 보입니다. 그러면 처음에는 _stuck_입니다. setDate를 사용하여 날짜를 변경할 수 없습니다. 월/연도는 변경할 수 있지만 날짜는 변경할 수 없습니다. – Recognizer
날짜가 이미 설정된 후에'DateTime :: setDate'가 작동하지 않는 것 같습니다. 이것은 어디서나 문서화 된 것 같지 않으며 자동으로 실패하는 것 같습니다. 이상한. – lonesomeday