3
다음 코드를PHP mktime이 같은 날짜에 대해 다른 결과를 제공합니까?
// settings 1st alternative
$season = 2011;
$startweek = 36;
// calculation, 1st alternative
// in any case Jan 1st is in 1. week
$firstweekuniversal = mktime(0,0,0,1,4,$season);
// I'd like to calculate monday 0:00 of the given week.
// date(...) computes to monday of the calculated week.
$startday1 = $firstweekuniversal + 86400 * (7*($startweek-1) - date('w', $firstweekuniversal)+1);
// settings 2nd alternative
$StartingDate = "KW36 - 5.09.2011 (Mo)";
// calculation, 2nd alternative
$firstparts = explode(" ", $StartingDate);
$secparts = explode(".", $firstparts[2]);
$startday2 = mktime(0,0,0,intval($secparts[1]),intval($secparts[0]),intval($secparts[2]));
// Output
echo "Start: \$startday1=".$startday1.", Timestamp=\"".date("d.m.Y - H:i:s", $startday1)."\"<br>\n";
echo "Start: \$startday2=".$startday2.", Timestamp=\"".date("d.m.Y - H:i:s", $startday2)."\"<br>\n";
이 출력에 이르게 : 여기서 1 시간 차이에서 오는
Start: $startday1=1315177200, Timestamp="05.09.2011 - 01:00:00"
Start: $startday2=1315173600, Timestamp="05.09.2011 - 00:00:00"
? 그것은 여름철 문제가 될 수 없으며, 그 경우 1 시간은 다른 방향이어야합니다. 그렇지 않습니까? 내 환경 (localhost)으로 시도 할 때 차이점은 없지만 내 prvider의 서버에는 차이점이 있습니다.
누구든지 나에게 설명 할 수 있습니까? 나는 여기서 완전히 당혹 스럽다. 미리 감사드립니다.
로컬 호스트와 서버의 시간대는 무엇입니까? –
시간대는 유럽/베를린이지만 스크립트가 두 가지 대안을 모두 실행하기 때문에 관련성이 없어야하지 않습니까? –
localhost 및 provider에서 실행중인 OS는 무엇입니까? 내 Ubuntu VM에서 실행했고 우분투 EC2 인스턴스에서와 똑같은 동작을 보았습니다. 아마 이상한 DST 설정과 관련이있을 수 있지만 어디서 찾을 수 없습니다. – Mikushi