2012-10-12 2 views
3

이상한 문제가 있습니다 :
나는 strotime으로 타임 스탬프로 변환하는 mysql 데이터베이스에서 데이터를 얻습니다. 는 내가 루프에 대한 이러한 타임 스탬프를 비교 : 특정 날짜 (또한 타임 스탬프)와strtotime summertime

for ($i=$start;$i<=$end;$i=$i+86400){ 
$ptag=date("w",$i); 
if ($i<=$checkdateend){ 
    if ($wochendays[$ptag]==1){ 
    if (!in_array($i,$solvedays)){ 
     $solvedays[]=$i; 
    } 
    } 
} 
} 


$wochendays=(0,0,1,0,1,0,0)

이 잘 작동하지만 여름/겨울의 변화를 교차 할 때 내가 얻을 문제. solvedays 배열의
이 값이 있어야합니다 :

27.10.2012 
28.10.2012 
29.10.2012 

하지만 대신

27.10.2012 
28.10.2012 
28.10.2012 

를 얻을.
나는 여름철에 겨울철로 바뀐 이유가있을 것이라고 생각하지만,이 문제를 해결하는 방법에 대한 단서가 없습니다. 어떤 힌트?

+0

당신은 GMT로 날짜를 저장 할 수 있습니다. – Kermit

+0

나는 데이터베이스에 아무런 시간도 저장하지 않았기 때문에 이것이 영향을 미칠 것이라고 생각하지 않습니다. 그래서 나는 그것이 어떤 차이를 만들지 않는다고 생각한다. – citylayer

답변

2

DateTime을 시도해보십시오

$date = new DateTime('2006-12-12'); 
$date->modify('+1 day'); 
echo $date->format('Y-m-d'); 
+0

나는 내 코드를 datetime으로 바꿀 것이다. – citylayer