2012-09-05 4 views
3

오케이 테이블의 결과 배열이 있으므로 검색하는 시작 시간과 종료 시간이 있습니다. 시작/종료 시간은 다음과 같이 보일 것입니다 : 초 단위로 변환하려고 시도합니다.

1345497551 

는 지금은 2012/05/09 17:23:12 또는 무언가가 될 수있는 예를 1345497551를 들어, 실시간이 변환 할 노력하고있어. 나는 몇 가지를 찾았지만 제대로 작동하지 않는 것 같지 않습니다. 하나 개의 솔루션은 누군가가 여기에 또 다른 질문에 한 말에 따르면, 시도, $numberofsecs는 시간이었다
$createdate = date('H:i:s',$numberofsecs); 

배열에서 뽑아했다. 그러나 이것은 우리가 테스트 할 수있을 때마다 반복적으로 17:00:00을 출력합니다.

이 작업을 올바르게 수행하려면 어떻게해야합니까?

답변

4

즉 표준 유닉스 타임 스탬프 문자열이 있다고 가정하면 (초부터 자정 1/1/1970), 당신은 당신이 언급 한 바와 같이 date를 사용하지만 단지 형식 문자열을 수정할 수 있어야한다 :

echo date('Y/m/d H:i:s', $numberofsecs); 

테스트 케이스가 모두 타임 스탬프로 인코딩되고 GMT로부터 오프셋 된 유일한 날짜 스탬프 였기 때문에 항상 17:00:00을 얻는 위치를 예로들 수 있습니다. . .

+0

오늘날처럼/어제 날짜가되어야하는 것은 아닙니다. 원래 게시물의 번호로 해당 문자열을 시도하고 1969/12/31 17:00:00이 나에게 울려 퍼졌다. 다른 제안? – Kynian

+0

위의'$ numberofsecs'을 사용하면'2012/08/20 23 : 19 : 11'이됩니다. 오타가있는 것 같아서 0을 날짜로 변환 한 결과를 보았습니다. – Barmar

+0

아하 네 말이 맞아, 고맙다! $ numberofsecs가 오늘 검색 되었다면 어떤 이유가 있습니까? 왜 2012/09/05 대신 2012/08/20이라는 날짜가 표시됩니까? 하지만 적어도 지금은 적절한 것을 되 찾는 것, 감사합니다! – Kynian

3

나는 코드 아래 시도 :

$ts = 1345497551; 
$date = new DateTime("@$ts"); 
echo $date->format('U = Y-m-d H:i:s'); 

출력 : 1345497551 = 2012-08-20 그것은 내가 나에게 일을주고 있지만 확실히 않는 것을 시도 할 때 보이는 21시 19분 11초

관련 문제