> 백엔드 개발 > PHP 문제 > PHP에서 두 타임스탬프가 같은 날인지 확인하는 방법

PHP에서 두 타임스탬프가 같은 날인지 확인하는 방법

藏色散人
풀어 주다: 2023-03-17 11:46:02
원래의
2531명이 탐색했습니다.

PHP를 사용하여 두 타임스탬프가 1일인지 확인하는 방법: 1. PHP 샘플 파일을 만듭니다. 2. "int time_zone = 8, daily_reset_time = 5;"를 설정합니다. 3. "bool IsTimeToReset(time_t last_reset_time, time_t cur_time) ){...}" 방식으로 판단을 구현합니다.

PHP에서 두 타임스탬프가 같은 날인지 확인하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, Dell G3 컴퓨터.

PHP는 두 타임스탬프가 같은 날인지 어떻게 확인하나요?

두 타임스탬프가 같은 날인지 확인하려면

아이디어 분석

두 타임스탬프가 같은 날이 아닌지 확인하려면 이틀 각각의 절대 초를 24로 나누면 됩니다. * 3600 에포크부터 현재까지의 시간을 구합니다. 며칠이 지난 후 두 결과의 차이가 0보다 크면 같은 날이 아니므로 재설정해야 함을 의미합니다. 하지만 고려해야 할 두 가지 요소가 있습니다.

먼저 현재 시간에서 설정된 재설정 시점(예: 매일 5시)을 뺀 값은 5시에 재설정되므로 5*3600을 빼서 현재 시간은 재설정 시간보다 크거나 같습니다. 설정 시간은 해당 날짜 5시입니다.

초는 절대 초에 해당 시간대에 해당하는 타임스탬프 부분을 더한 값이므로 얻은 시간은 현지 시간에 해당합니다. 예를 들어 시간대를 추가하지 않으면 1970년 1월 1일 그리니치 표준시 00:00:00 이후의 일수를 얻을 수 있습니다. 베이징 시간은 그리니치 표준시보다 8시간 빠릅니다. 미국 시간 16시는 베이징 시간 기준으로 다음날 0시에 해당하므로 시간적으로 계산해야 할 것은 이 시간대의 시간에 해당하는 일수 차이이므로 더해야 합니다. 시간대. 결과 시간은 time_zone * 3600

Codeimplementation

int time_zone = 8, daily_reset_time = 5;
time_t BetweenDays(time_t time1, time_t time2)
{
return (time1 + time_zone *3600)/3600/24 - (time2 + time_zone *3600)/3600/24;
}
/*
 * last_reset_time 为上次执行的每日重置时间
 * cur_time 为当前时间
 */
bool IsTimeToReset(time_t last_reset_time, time_t cur_time)
{
return BetweenDays(cur_time - 3600 * daily_reset_time, last_reset_time - 3600 * daily_reset_time) > 0;
}
로그인 후 복사

권장 학습: "PHP Video Tutorial"

위 내용은 PHP에서 두 타임스탬프가 같은 날인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿