문제

날짜와 시간을 형식화하기 위해 함수를 작성하려고합니다. 날짜 만 형식화하는 거의 동일한 기능이 있습니다. 그 기능은 잘 작동합니다. 방금 시간을 시간과 함께 형식으로 만들기 위해 코드를 추가했습니다. "2009 년 5 월 18 일 오후 9시 50 분"과 같은 것을 반환해야하지만이 경고를 받고 있습니다.

Warning: mktime() expects parameter 6 to be long, string given in
public_html/include/functions.php on line 421

여기에 내가 가진 코드는 다음과 같습니다.

function dateTimeFormat($dateIn)
{
   $x = explode(" ",$dateIn);
   $y = explode("-",$x[0]);
   $z = explode(":",$x[1]);

   $year = $y[0]; 
   $month = $y[1];
   $day = $y[2];
   $hour = $z[0];
   $min = $z[1];

   $dateOut =date("F j, Y h:i A", mktime($hour, $min, 0, $month, $day, $year)); 

   return $dateOut;
}

그것이 내리는 것도 잘못되었습니다. 그것은 다음과 같습니다.

December 31, 1969 07:00 PM

그러나 데이터베이스의 타임 스탬프는 다음과 같습니다

2009-05-18 05:07:39
도움이 되었습니까?

해결책

PHP는 이미 완벽하게 좋은 날짜 준비 기능을 가지고 있습니다. strtotime(). 통과 할 수있는 Unix 타임 스탬프를 반환합니다. date().

다시 말해, 기능을 이것으로 줄일 수 있습니다.

function dateTimeFormat($dateIn)
{
    return date("F j, Y h:i A", strtotime($dateIn));
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top