PHP에서 숫자를 월 이름으로 변환
PHP를 사용하여 숫자로 된 월 값을 해당 이름으로 변환하려고 할 때 다음 코드는 채용되었습니다:
<code class="php">$monthNum = sprintf("%02s", $result["month"]); $monthName = date("F", strtotime($monthNum)); echo $monthName;</code>
그러나 예상 월 이름(예: 8월)을 반환하는 대신 "December"로 잘못 표시되었습니다. 추가 조사 결과 $result["month"]가 8로 설정되었고 sprintf 함수가 앞에 0을 추가하여 값이 "08"이 된 것으로 나타났습니다.
권장 솔루션
최신 PHP 버전(>= 5.2)의 경우 선호되는 방법은 날짜/시간 계산에 DateTime 개체를 활용하는 것입니다. 향상된 솔루션은 다음과 같습니다.
<code class="php">$monthNum = 3; $dateObj = DateTime::createFromFormat('!m', $monthNum); $monthName = $dateObj->format('F'); // March</code>
! 형식 지정 문자는 날짜를 Unix epoch로 재설정하고 m 형식 문자는 앞에 0이 붙은 숫자 월 값을 나타냅니다.
대체 솔루션
이전 PHP 버전의 경우 대체 접근 방식은 mktime()을 사용하여 타임스탬프를 만드는 것입니다.
<code class="php">$monthNum = 3; $monthName = date('F', mktime(0, 0, 0, $monthNum, 10)); // March</code>
약식 월 이름(예: Mar)을 선호하는 경우 'F'를 'M'으로 바꾸면 됩니다. 자세한 형식 지정 옵션은 PHP 매뉴얼 문서에서 확인할 수 있습니다.
위 내용은 PHP에서 월 입력으로 '08'을 입력하면 `date('F')`가 '12월'을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!