반응형
PHP에서 두 번의 시차를 구하는 중
중복 가능:
PHP에서 분 단위로 시차를 구하는 방법
저는 지각자와 지각자를 계산하기 위해 출석표를 작성하고 있습니다.로그인 시간을 테이블(유형: 시간)에 저장하고 있습니다.저는 데이터베이스에서 시간을 구할 수 있고 시간 차이를 별도의 란에 표시하고 싶습니다.
즉, 직원이 로그인한 경우 또는 그 이전에09:00:59
, 그런 다음 적절한 시간과 시간 차이를 null로 표시해야 합니다.만약 그가 그 시간 이후에 로그인을 한다면,09:01:00
아니면 나중에 시차는00:00:01
. 마찬가지로 나도 시간의 차이를 계산해야 합니다.
한 번은 일정합니다. 즉,09:00:59
그리고 또 하나는 데이터베이스 테이블에서 가져온 것입니다.둘 다 차이를 둘 필요가만.저는 PHP 관련 일을 하고 있습니다.제 질문이 분명했으면 좋겠습니다.
미리 감사드립니다.
str to time()을 사용하여 시간을 계산할 수 있습니다.다음은 예입니다.
$checkTime = strtotime('09:00:59');
echo 'Check Time : '.date('H:i:s', $checkTime);
echo '<hr>';
$loginTime = strtotime('09:01:00');
$diff = $checkTime - $loginTime;
echo 'Login Time : '.date('H:i:s', $loginTime).'<br>';
echo ($diff < 0)? 'Late!' : 'Right time!'; echo '<br>';
echo 'Time diff in sec: '.abs($diff);
echo '<hr>';
$loginTime = strtotime('09:00:59');
$diff = $checkTime - $loginTime;
echo 'Login Time : '.date('H:i:s', $loginTime).'<br>';
echo ($diff < 0)? 'Late!' : 'Right time!';
echo '<hr>';
$loginTime = strtotime('09:00:00');
$diff = $checkTime - $loginTime;
echo 'Login Time : '.date('H:i:s', $loginTime).'<br>';
echo ($diff < 0)? 'Late!' : 'Right time!';
시간 차이를 분 단위로 가져오는 방법에 대해 이미 질문한 내용을 확인합니다.
미래의 것에서 과거의 것을 빼고 60으로 나눕니다.
시간은 unix 형식으로 진행되므로 GMT로 1970년 1월 1일 00:00:00부터 초 단위를 나타내는 큰 숫자에 불과합니다.
DateTime 클래스를 사용할 수도 있습니다.
$time1 = new DateTime('09:00:59');
$time2 = new DateTime('09:01:00');
$interval = $time1->diff($time2);
echo $interval->format('%s second(s)');
결과:
1 second(s)
<?php
$start = strtotime("12:00");
$end = // Run query to get datetime value from db
$elapsed = $end - $start;
echo date("H:i", $elapsed);
?>
언급URL : https://stackoverflow.com/questions/13928021/getting-time-difference-between-two-times-in-php
반응형
'programing' 카테고리의 다른 글
Oracle : 날짜를 시간 단위로만 비교합니다. (0) | 2023.10.26 |
---|---|
C/C++의 더블을 통해 운반할 때 Float의 보존이 보장됩니까? (0) | 2023.10.26 |
워드프레스에서 CJK와 영어 문자를 모두 포함하는 선을 제대로 끊는 방법은? (0) | 2023.10.26 |
약속을 예약하기 위해 빠르고 최적화된 데이터베이스 쿼리 (0) | 2023.10.26 |
DataBinding을 사용하여 Image 리소스를 ImageView로 설정하는 방법 (0) | 2023.10.26 |