2011-08-16 7 views
1

TIMESTAMP 및 기본값 UNIX_TIMESTAMP를 통해 mysql에 항목의 날짜를 저장하고 있습니다.하지만 다시 가져올 때 2011-08-16 11:43:52 및UNIX 타임 스탬프 및 MYSQL

으로 스타일을 지정하려고합니다.
<?= date('F j, o', $a['time']) ?> 

그것은 단지 않습니다 년 12 월 31 다시 데려 제로에서 타임 스탬프,

왜 1970? 어떻게 해결할 수 있습니까?

+0

다시 가져 오는 데 사용할 코드를 표시 할 수 있습니까? –

+0

$ a [ 'time']이 (가) 정의되어 있는지, $ a [ 'unix_time'] 또는 뭔가가 아닌지 확실합니까? 그렇게 할 것입니다. – djhaskin987

답변

1

MySQL TIMSTAMP 열은 YYYY-MM-DD HH-MM-SS으로 저장되며, UNIX_TIMESTAMP을 입력해도 해당 형식으로 저장됩니다.

그래서 당신이 할 수있는 것입니다 :

<?= date('F j, o', strtotime($a['time'])) ?> 

데모 : http://codepad.org/jBLR2KpH

+0

3-way mysql internal -> timestamp -> string -> php strtotime 변환 시리즈를 강요하는 대신 mysql에서 직접 타임 스탬프로 선택하는 것이 더 좋다. –

+0

@MarcB - 사실 일 수 있습니다. – Neal

4

사용 UNIX_TIMESTAMP()TIMESTAMP 열을 사용

SELECT UNIX_TIMESTAMP(field) 

이, 함수가 직접 내부 타임 스탬프 값을 반환 암시적인 "문자열 - 유닉스 타임 스탬프"변환이 없습니다.

Manual

0

date()은 숫자가 아닌 문자열을 사용합니다. MySQL은 항상 내부 표현에 관계없이 날짜를 문자열로 반환합니다. 사용해보기 :

<?php echo date("F j, o", strtotime($a['time']); ?>