2014-09-30 1 views
0

그냥 호기심, 아는 사람, 원래 나는 그것이 하나의 오류 만 1월 밖으로날짜 ("F", 한 strtotime (일 - 월 - 년))가 올해 2 월에 대한 잘못된 값을 인쇄가

echo date("F", strToTime("$day-01-$year")); 

인쇄 및

echo date("F", strToTime("$day-03-$year")); 

인쇄 밖으로 행진으로 떨어져 공통 줄 알았는데, 그래서 나는 U 오전 실제로 여기에서 벌어지고있는 것의 nsure ???

어떤 아이디어가 너무

+0

내 문제는 하루를 "j"로 기본값으로 설정한다고 생각합니다. 아무런 설정이 없으면 이제는 기본 01로 설정되었고 지금은 작동합니다. 간단한 버튼과 함께 한 달에 한 달씩 그날이 내 조건문에 결코 설정되지 않았다. 만약 내가 바뀌면 기본값이 소문자 j로 설정된 날이 없다면 올바른 이름으로 응답했다. –

답변

0

당신은 오늘이 스크립트를 실행, $day=30;?

그래서 2 월 30 일을 얻으려고하면 3 월 2 일 또는 3 월 1 일의 윤년을 반환합니다. 2 월은 충분한 일이없는 분명히 있기 때문에 ...

$day = 30; 
$year = 2014; 

echo date("r", strToTime("$day-02-$year")); 

는 출력 :

그것은 버그가 아니라
Sun, 02 Mar 2014 00:00:00 +0100 

, 그것은 기능입니다.

0

내 문제였다

, 어떤 일이 설정되어 있지 및 지금 작동이 있다면 난 그냥 기본 01을 만든 "J"로 하루를 불이행 나는이 나는 간단한와 함께 매달가는 달력 버튼과 날이 내 조건문에 설정되지 않았다면 그 날이 설정되지 않은 경우 기본값은 소문자 j로 바뀌 자마자 올바른 이름으로 응답했다. 그래서이 질문에 대한 대답은 월간 등의 날 선물이 없을 경우 기본 날짜는 1로 설정됩니다.

<?php 

     if (isSet($_GET['day'])) { 
      $day = $_GET['day']; 
     } else { 
      $day = date("01"); 
     } 

     if (isSet($_GET['month'])) { 
      $month = $_GET['month']; 
     } else { 
      $month = date("n"); 
     } 

     if (isSet($_GET['year'])){ 
      $year = $_GET['year']; 
     } else { 
      $year = date("Y"); 
     } 

     //calendar variable 
     $currentTimeStamp = strToTime("$day-$month-$year");   
     //get current month name 
     $monthName = date("F", $currentTimeStamp);   
     //get how many days are in the current month 
     $numDays = date("t", $currentTimeStamp);    
     //counter for calendar cells in loop 
     $counter = 0;  
    ?> 

영형!