PHP에서 숫자를 월 이름으로 변환
문제:
PHP 코드를 사용하여 숫자로 된 월 값(예: 8월은 8)을 해당 월 이름으로 변환하면 코드가 "8월" 대신 "12월"을 잘못 반환합니다.
코드:
<code class="php">$monthNum = sprintf("%02s", $result["month"]); $monthName = date("F", strtotime($monthNum)); echo $monthName;</code>
근본 원인:
sprintf() 함수는 10보다 작은 월 값에 앞에 0을 추가하고(예: 8은 08이 됨) 날짜( ) 값을 12월(월 12)로 해석합니다.
권장 솔루션(PHP >= 5.2):
날짜/시간 조작을 위해 DateTime 개체를 사용합니다.
<code class="php">$monthNum = 3; $dateObj = DateTime::createFromFormat('!m', $monthNum); $monthName = $dateObj->format('F'); // March</code>
대체 솔루션(이전 PHP 버전):
<code class="php">$monthNum = 3; $monthName = date('F', mktime(0, 0, 0, $monthNum, 10)); // March</code>
위 내용은 내 PHP 코드가 월 숫자를 올바른 달이 아닌 12월로 변환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!