2012-04-13 7 views
1

에 추가 및 빼기 시간 나는 내가 기본적으로 내가 시간대 (-3 시간)을 변경하는 방법 시간을 빼거나 할 수있는 방법 PHP에서PHP 주어진 타임 스탬프

2012-04-12 16:42:33 

같은 MySQL의에서 타임 스탬프를 얻을? 당신의 타임 스탬프를 포맷하는 방법, 우리는 원래의 것입니다. 그래서,이 코드가 충분해야하는지 시간대 알 수 없기 때문에

답변

1

PHP의 DateTime을 사용해야합니다. 당신은 supported formats을 확인하고 새로운 개체를 만들 수 있습니다

$date=new DateTime("2012-04-12 16:42:33"); 

이 개체는 또한 시간대와 다른 변환을 변경 지원합니다. (PHP 설명서에서) 새로운 시간대를 설정 :

$date->setTimezone(new DateTimeZone('Pacific/Chatham')); 
1
strtotime('-3 hours', strtotime('2012-04-12 16:42:33')); 

http://php.net/manual/en/function.strtotime.php

변경 시간대는 기술적으로 약간 더 까다 롭습니다.

+0

코드가 유닉스 타임 스탬프로 변환됩니다. 인간 친화적 인 버전을 다시 인쇄하는 것은 어떻습니까? – Francesco

+0

@Francesco, PHP의'date()'를 사용하여 원하는대로 포맷하십시오 : http://php.net/manual/en/function.date.php – Brad

0
$hours = 3; 

$time_old = "2012-04-12 16:42:33"; 

$time_new = strtotime($time_old); 

$time_new = $time_new - (60 * $hours); 

date($time_new); 

이 동적 $hours을 변경하여 시간을 변경할 수 있습니다.

+0

당신은 초가 아닌 분을 뺍니다. 다른'60 *'이 필요합니다. 그러나 필자는 적용 가능한 경우 [일광 절약 시간제] (http://en.wikipedia.org/wiki/Daylight_saving_time)를 무시하기 때문에 수초의 수동 뺄셈을 추가하지 않는 것이 좋습니다. 예제는 [이 주석] (http://us3.php.net/manual/en/function.strtotime.php#97025)을 참조하십시오. – Wiseguy

+0

귀하의 정확한 @ 위세, 저의 실수 – Dfranc3373