2011-12-30 6 views
1

좋아 내가 날짜 시간 필드에 내 MySQL 데이터베이스에이이PHP는 문자열을 분석하여 날짜를 만듭니다.

2011-12-30 14:07:46 

내가 그래서 난이

date("F j, Y, g:i a", $system['date_added']); 

하지만 결과를 사용

December 30, 2011, 2:07 pm 

이 형식을 사용하는 PHP를 사용하여 필요 이 오류가 발생했습니다

A non well formed numeric value encountered in quote.php on line 56 
,210

이 결과 내가 거기에

print_r(date_parse($system['date_added'])); 

입니다하지만 난 배열을 얻을 알고

December 31, 1969, 4:33 pm 

는 .... 쉬운 방법에 어떤 아이디어의

+1

는 SO 사람들이 포럼, IRC, 목록 또는 * 구글 * –

답변

3

두 번째 PARAM를 해결하기 위해 날짜는 유닉스 타임 스탬프 여야합니다. strtotime을 사용하면 날짜의 문자열 표현을 가져 와서 유닉스 타임 스탬프로 변환 할 수 있습니다 :

date("F j, Y, g:i a", strtotime($system['date_added'])); 
+1

정답에 가서 해달라고,하지만 어떻게 사람이 설명도 작은 조각없이 배울 것이 너무 인기가? – oezi

+0

나는 그것을 쓰고 있었다 : D 고마워! – Headshota

+0

strtotime()은 영어 형식의 시간 문자열을 UNIX 타임 스탬프로 변환합니다. 원하는 시간 형식으로 변환 할 수 있습니다. – Dion

3

strtotime을 사용할 수 있습니다.

date("F j, Y, g:i a", strtotime($system['date_added'])); 
2

date()의 두 번째 인수는, 당신은 그것을 2011-12-30 14시 7분을 유닉스 타임 스탬프를 제공하고있다 : 46 그렇지 않습니다.

두 가지 방법으로 문제를 해결할 수 있습니다. 둘 중 하나가 작동합니다.

  • UNIX 시간 소인으로 날짜를 추출하십시오.

    SELECT UNIX_TIMESTAMP(`field`) FROM ... 
    
  • strtotime()를 사용하여 날짜를 구문 분석합니다.

    $timestamp = strtotime($system['date_added']); 
    date("F j, Y, g:i a", $timestamp); 
    
관련 문제