2013-07-05 1 views
1

MySQL 형식의 날짜 (YYYY-MM-DD)를 형식화하려고하는데 예를 들어 "9 월 2012"와 같이 월과 연도를 표시하려고합니다.에코의 날짜 포맷

내 코드 :

<?php echo htmlspecialchars($row["date"], ENT_QUOTES, "UTF-8"); ?> 

사람이 내가이 작업을 수행 할 수있는 방법을 알고 있나요?

+1

'에코 날짜 ('내지 Ym-D', 한 strtotime ($ 행 [ '날짜']));'- 당신은 블랙을 감사 할 수 있습니다 마술은 ['strtotime']입니다 (http://php.net/manual/en/function.strtotime.php). – nand

+0

http://php.net/manual/en/datetime.format.php – iTom

답변

1

당신은 당신이 원하는 방법 날짜 형식을 DateTime을 사용할 수 있습니다 : 그래서

$date = DateTime::createFromFormat('Y-m-d', $row["date"]); 
echo htmlspecialchars($date->format('F Y'), ENT_QUOTES, "UTF-8"); 

을이 같은 날짜 :

$row['date'] = '2012-09-25'; 

will print :

September 2012 
+0

Brilliant - 완벽하게 작동합니다. 닉 고마워! – David

+0

createFromFormat이 필요합니까? $ date = new DateTime ($ row [ 'date']); echo $ date-> format ("F Y"); ^ 대체 할 수 있습니까? – David

+0

@David - 날짜 문자열이 [지원되는 날짜/시간 형식 목록] 인 경우 시간 문자열과 함께 생성자를 사용하는 것이 완벽하게 허용됩니다 (http://us1.php.net/manual/en/datetime.formats.php). – nickb

5

하나 SQL에서 직접 그 형식으로 선택하십시오.

SELECT DATE_FORMAT(date, '%M %Y') AS formatted_date 

또는 (다소 덜 효율적인) PHP에서 할 :

$formatted = date('F Y', strtotime($row['date'])); 
+0

+1 PHP & SQL 옵션을 모두 제공합니다. – Adrian

+0

@nickb가 제안한 것처럼 DateTime 사용에 문제가 있습니까? – David

+0

nope. DateTime은 새로운 최신 코드에 유용하며 날짜에 대한 다양한 "수학"유형 작업을 다루기가 훨씬 쉽습니다. 그러나 이와 같이 간단한 포맷팅, 특히 입력 형식이 깨끗하고 잘 정의 된 곳에서는 날짜/문자열을 처리하기가 더 쉽습니다. –

1
echo date('F Y', strtotime($row['date'])); 
+0

대답에 약간의 설명을 추가해야합니다 –

+0

죄송합니다, 형편 없음. 다음 번에 더 좋을 것이다 :) –

0

참조 SQL 기능 DATE_FORMAT (date, format)

를 사용할 필요가 여러 변수를 사용할 새 변수로 저장하려고합니다. 시간 :

$datetime = strtotime($row['date']); 
$mysqldate = date("M d ", $datetime); 
echo $mysqldate; 
1

당신이 사용할 수있는 날짜 시간 :

$date = date_create($row["date"]); 
echo date_format($date, 'F Y');