달력의 특정 날짜부터 X 일마다 얻으려고합니다. 나는 논리적 인 논리를 어느 정도 가지고 있다고 생각하지만, 작은 창에 대해서는 예기치 않은 결과가 나타납니다. 아래에있는 내 프로젝트에서 촬영PHP : 일정, 반복 일정의 모든 X 주
내 코드 :
$start_time = 1345935600; //Sept 25th 2011;
$end_time = 1355011200; //Dec 9th 2011;
$sStartDate = date("Y-m-d", $start_time) . " " . date("H:i:s", strtotime("00:00:00"));
$sEndDate = date("Y-m-d", $end_time) . " " . date("H:i:s", strtotime("00:00:00"));
$sCurrentDate = $sStartDate;
while($sCurrentDate < $sEndDate)
{
$t_date = strtotime($sCurrentDate);
$s_date = strtotime(date("Y-m-d", strtotime("08/30/2011")));
$recurs_every = 60 * 60 * 24 * 2; //occurs every 2 days
echo date("Y-m-d H:i:s", $t_date) . " " . date("Y-m-d H:i:s", $s_date) . " " . (($t_date - $s_date) % $recurs_every) . " " . $recurs_every . "<BR>" ;
$sCurrentDate = date("Y-m-d", strtotime("+1 day", strtotime($sCurrentDate)));
}
출력 (현재 날짜 - 날짜 시작 - 모듈 형) :
2011-09-25 00:00:00 2011-08-30 00:00:00 0
2011-09-26 00:00:00 2011-08-30 00:00:00 86400
....
2012-10-27 00:00:00 2011-08-30 00:00:00 0
2012-10-28 00:00:00 2011-08-30 00:00:00 86400
2012-10-29 00:00:00 2011-08-30 00:00:00 3600
2012-10-30 00:00:00 2011-08-30 00:00:00 90000
2012-10-31 00:00:00 2011-08-30 00:00:00 3600
2012-11-01 00:00:00 2011-08-30 00:00:00 90000
2012-11-02 00:00:00 2011-08-30 00:00:00 3600
2012-11-03 00:00:00 2011-08-30 00:00:00 90000
2012-11-04 00:00:00 2011-08-30 00:00:00 3600
2012-11-05 00:00:00 2011-08-30 00:00:00 90000
마지막 몇 줄이 나를 위해 문제입니다.
3600은 1 시간이며 어디에서 발생하는지 알 수 없습니다. 이상한 일은 2012 년 3 월 26 일로 빨리 감기하고 다시 작동하기 시작하지만 10 월 29 일에 같은 오류가 발생합니다 ...
나는 몇 시간 동안이 시간을 보았습니다. 도움이 정말 감사! 시계가 한 시간으로 변환됩니다 여름 & 겨울 시간이
감사 일부 contries에에서
나는 그것과 관련이있을 것이라고 생각했습니다. 내 뇌가 지금은 멍청 해. 이 문제를 해결하기 위해 코드를 업데이트 할 수 있습니까? – PaulM
내 게시물을 편집했습니다. 이런 식으로해야합니다. 아마도 가장 좋은 해결책은 아니지만 작동해야합니다 (테스트에서 그렇습니다). – MasterCassim