2013-06-02 4 views
0

문자열 변수에 날짜가 Sun Jun 02 08:54:12 EDT 2013으로 저장되어 있습니다. 현재 날짜와 제공된 날짜의 시차를 비교하려면 어떻게 이것을 날짜 변수로 변환 할 수 있습니까? 감사!PHP - 날짜 포맷

+0

어디에서 데이터베이스, 텍스트 문자열, CSV 파일? 지금까지 시도한 코드를 보여줄 수 있습니까? 감사합니다 – Drewdin

+1

당신은 단순히 strtotime() 함수를 찾고 있다고 생각합니다. [http : //php.net/manual/fr/function.strtotime.php] – Jerska

+0

나는 이것을 비교하기 원하는 날짜를 이미 얻었습니다. 문자열로. 나는 여기서 무엇을해야할지 궁금해. – Confiqure

답변

5

DateTime 클래스를 사용하면 현재 날짜를 시간 기록과 비교할 수 있습니다. DateTime 개체를 얻은 후에는 DateTime::diff() 메서드를 사용하여 쉽게 차이를 얻을 수 있습니다. format() 메서드를 사용하여 인쇄 할 수있는 DateInterval 개체를 반환합니다.

$dt = new DateTime('Sun Jun 02 08:54:12'); 
$now = new DateTime(); 

if($now > $dt) { 
    $difference = $now->diff($dt); 
    echo $difference->format('The time is %H hours %I minutes %S seconds in the past'); 
} else if ($now < $dt) { 
    $difference = $dt->diff($now); 
    echo $difference->format('The time is %H hours %I minutes %S seconds in the future'); 
} else { 
    echo 'the time is now'; 
} 

는 : 물론 당신은 또한 년, 월과 일의 차이를 표시하는 방식으로 출력을 확장해야합니다. 나는 예제에서 그렇게하지 않았다. 왜냐하면 나는 게으르다 ... 예를 들어 문자열이 너무 길어서 ...;)