2011-04-27 2 views
2

저는 캘린더/플래너 웹 앱에서 작업하고 있으며 이벤트를 시작하고 종료하는 시간을 데이터베이스에 저장하기 전에이를 비교해야합니다. 이벤트는 하루의 범위와 오전 8시에서 자정 사이의 시간 범위를 가질 수 있습니다. 시작 시간은 항상 종료 시간 이전에 수행되어야합니다.PHP - 시간 비교

게시물 값은 hh:mm:ss (12:14:00) 등의 형식으로 양식에서 가져옵니다. 따라서 이러한 데이터를 내 데이터베이스에 많은 번거 로움없이 저장할 수 있습니다. 이 시대를 비교할 수있는 방법이 있습니까?

고마워요!

답변

4

시간이 데이터베이스에 있으면 데이터베이스의 비교 연산자가 작동합니다. 예를 들어 : PHP에서

SELECT * FROM table WHERE time < NOW() 

, 시간을 비교하는 가장 쉬운 방법은 타임 스탬프로 변환하고, 다음 정수로 타임 스탬프를 비교하는 것입니다. strtotime을 사용하면 해당 변환을 수행 할 수 있습니다. 예를 들어

:

$time1 = "08:00:00"; 
$time2 = "09:00:00"; 

if (strtotime($time1) > strtotime($time2) || 
    strtotime($time1) < strtotime("08:00:00")) { 
    ... 
} 
+0

감사합니다, 정말 도와 줬어 :) – cabaret

3

PHP 5.3을 실행하는 경우DateTime 개체를 사용하여 두 날짜 사이의 차이를 얻을 수 있습니다. 그러나 시간 소인 (1 일 = 86400 초)도 가능합니다.

+0

이 예를 가지고 있다면, 그것은 더 나은 해답이 될 것입니다. – Luke