2013-03-26 3 views
1

내 페이지의 날짜 형식이 앞으로 6 시간을 표시하고 있습니다. 는 정확한 시간을 보여줍니다 그래서 그것을 어떻게 바꾸 이 내 쿼리입니다내 SQL 쿼리에서 시간 간격을 변경

$query = "SELECT firstName,lastName, post,date_format(postDate,'%M,%d,%Y at %H:%i') as  mydatefield 
     FROM users INNER JOIN posts ON userId = empl_Id 
     ORDER BY postDate"; 

이 UTC에서 테이블에

$query = "INSERT INTO posts(postId,empl_Id,post,postDate) 
     VALUES('','$empId','$idea',NOW())"; 
    $result = mysqli_query($db, $query); 
+0

날짜 삽입을위한 시간대를 조정하십시오. –

+0

어떻게 할 수 있습니까? 방금 삽입 쿼리를 표시하는 내 게시물을 편집했습니다. – user2189151

답변

1

아마도 당신이 저장하고 시간 값을 삽입하고 6에 위치하고있어 UTC보다 시간이 오래 걸립니다.

쿼리를 변경하지 마십시오. 표준 시간대 표시는 컨트롤러가 아닌 응용 프로그램의보기 논리에 대한 관심사입니다.

페이지에 날짜/시간을 표시 할 때마다 TZ 오프셋을 UTC 값에 추가하기 만하면됩니다. 여기에서 예를 볼 수 있습니다. http://www.php.net/manual/en/book.datetime.php

0

this question에 표시된대로 here과 같이 지정할 수 있습니다.

또는 당신이 선택할 수 있습니다, the answer below that 같은 상태는, 이런 식으로 수행

당신이 날짜 시간 :: setTimezone()을 사용할 수 있습니다.

$date = new DateTime(); 
$date->setTimezone(new DateTimeZone('UTC')); 
$date->setTimestamp(1297869844); // this should be the 'current' then 
$date->setTimezone(new DateTimeZone('Europe/Paris')); 

echo $date->format('Y-m-d H:i:s'); 
// Will print 2011-02-16 16:24:04 

을 그리고 데이터베이스에 값을 삽입하는 것을 사용하여 UTC 날짜는 UNIX 타임 스탬프 인 경우는 다음과 같이 몇 가지 코드를 사용할 수 있습니다. 표현을 변경하면 (유닉스 타임 스탬프가 끝난 후에도 말하기 방식으로 인간의 양식으로 변환 된 것을 저장하고 싶을 수도 있음)

관련 문제