2011-04-12 7 views
2

그래서 내가 해야하는 것보다 4 시간 앞선 값을 생성하는 MYSQL 타임 스탬프가 있습니다. 어떻게하면 MySQL 타임 스탬프에서 4 시간을 빼고 표시 할 수 있습니까?PHP에서 MySQL 타임 스탬프를 증가시키는 방법은 무엇입니까?

여기 당신은 정말 루트 문제를 파악하고 해결해야 내 현재 코드

$mdate = date('F j, Y, g:i a',strtotime($bm->date_added)); 
//$bm->dated_added returns the times stamp// 
echo $mdate; 

감사

+0

를 반환합니다

SELECT TIMESTAMPADD(the_timestamp, INTERVAL -4 HOURS) 

. 너 지금 몇시에 있니? 서버가 설정된 시간대는 무엇입니까? –

답변

4

적절한 타임 스탬프를 반영하기 위해 쿼리에서 SUBTIME() 함수를 사용하여

에게
$mdate = date('F j, Y, g:i a', strtotime('-4 hours', $bm->date_added)); 

strtotime()과 같은 수식어를 기반으로 여러 계산을 수행 할 수 있습니다. manual에서 예 :

<?php 
echo strtotime("now"), "\n"; 
echo strtotime("10 September 2000"), "\n"; 
echo strtotime("+1 day"), "\n"; 
echo strtotime("+1 week"), "\n"; 
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n"; 
echo strtotime("next Thursday"), "\n"; 
echo strtotime("last Monday"), "\n"; 
?> 
2

입니다. 대부분의 경우 MySQL의 시간대를 자신의 것과 일치하도록 설정해야합니다 (또는 서버 자체에 잘못된 날짜가 설정되어 있음).

그렇다면 strtotime 결과에서 14,400 초를 뺄 수 있습니다.

$mdate = date('F j, Y, g:i a',strtotime($bm->date_added) - 14400); 
1

서버 시간을 변경할 수없는 경우 두 번째 인수와 함께 제공하는 경우, strtotime()이 날짜를 기준으로 계산을 수행합니다

0

SQL 접근 방법 : 이것은 당신이 앞으로 시간이 _why_ 발견하지 않는 짐승 같은 솔루션의 오프셋 시간

관련 문제