2016-08-05 8 views
0

는 이봐, 난 스크립트 느릅 나무가 true를 돌려주는 코드 싶었다 여름에 지정된 일자 경우. 그래서 PHP documentation 날짜 ("물건"에서는 mktime)을 발견했다. 그리고 매개 변수 문자열 목록이 있습니다. 거기 그것이있다 : "I (capital i) Whether or not the date is in daylight saving time". 내 스크립트에 쓴 이유방법 "I"(여름 옵션)으로한다 mktime를 사용 하는가?

echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000)); 

: 나는 아래의 일부 라인이 예를 찾을 내가 넣어

function summertime(string $date) : bool { 
    $pieces = explode('-', $date); 
    $year = (int) $pieces[0]; 
    $month = (int) $pieces[1]; 
    $day = (int) $pieces[2]; 

    return date("I", mktime(0, 0, 0, $month, $day, $year)); 
} 

echo summertime("1981-07-07"); 

상관없이 느릅 나무 날짜, 그것은 항상 false/0 무엇 이제까지 반환을 ... 나는 7.0 마르쿠스 Laire의 코멘트에서 언급 한 바와 같이

+1

것은 예컨대 시간대 설정을 시도 새 날짜를 생성 할 때 특정 시간대를 설정하는 방법을 표시하기 실시 예 'date_default_timezone_set'을 사용하십시오. 현재 기본 시간대는 여름 시간대가없는 시간대 (예 : UTC) 일 수 있습니다. –

답변

1

, 당신은 아마 제대로 시간대를 설정해야합니다 PHP를 사용하고 있습니다 : 나는 FYI ... 차이를 찾거나 실수 할 수 없다. 또한 DateTime 클래스를 사용하는 것이 좋습니다.

예 1 :

$tz = new DateTimeZone('Europe/Berlin'); 
$date = new DateTime('1981-07-07', $tz); 
echo $date->format('I'); 
// outputs '1' 

예 2

$tz = new DateTimeZone('Europe/Berlin'); 
$date = new DateTime('1981-01-01', $tz); 
echo $date->format('I'); 
// outputs '0'