문제

2010-02 년 2 월으로 2010-02로 전환하려고합니다.하지만 1969 년 12 월에 계속되고 있습니다.

나는 mktime, strtotime 및 두 가지 조합을 사용해 보았지만 여전히 할 수 없었습니다 ...

이것이 내가 가장 최근에 시도한 것입니다 ...

$path_title = date('F, Y', mktime(0,0,0,2,0,2010));
도움이 되었습니까?

해결책

이것은 그것을하는 방법입니다 :

$dateString = '2010-02';
list($year, $month) = explode('-', $dateString);
$timeStamp = mktime(0, 0, 0, $month, 1, $year);
echo date('F, Y', $timestamp);

또 다른 방법은 다음과 같습니다.

$dateString = '2010-02';
$timestamp = strtotime($dateString . '-01');
echo date('F, Y', $timestamp);

strtotime "2010-02"와 같은 모호한 날짜를 처리 할 수는 없지만 전체 날짜가되면 작동해야합니다.

그렇지 않으면, 당신은 DateTime::createFromFormat.

다른 팁

이 시도:

$str = '2010-02';
echo date('F, Y',mktime(0,0,0,substr($str,-2),1,substr($str,0,4)));

유효한 값을 사용해야합니다. mktime(). 당신의 예에서 당신은 질문으로 편집 한 것입니다. 0 효과적으로 첫날 마이너스 1 인 날로 전달에 들어갑니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top