두 날짜를 Unix 타임스탬프로 변환하여 PHP에서 시간차(초)를 계산할 때 예상치 못한 결과가 발생합니다.
P粉237029457
2023-09-03 09:22:01
<p>제목에 따라 초 단위의 차이를 찾은 다음 해당 초를 일과 시간으로 변환하려고 합니다. </p>
<p>비슷한 질문을 읽고 따라한 끝에 오늘 날짜/시간에 내가 원하는 시, 일, 주, 월, 연도를 추가하는 함수를 만들었고 이 부분에서 올바른 결과를 얻었습니다. </p>
<p> 그러나 그런 다음 두 날짜(시작 날짜 및 이동 날짜)를 유닉스 타임스탬프로 변환하고 두 날짜의 차이를 초 단위로 찾기 위해 두 타임스탬프를 뺀 다음 변환을 시도했지만 예상한 결과를 얻지 못했습니다. 며칠 또는 몇 분 동안(/86400 및 /3600). </p>
<p>코드는 이렇습니다..</p>
<pre class="brush:php;toolbar:false;"><?php
$dateTimeNow = 날짜();
함수 dateTimeShift($dateTimeIn, $lengthNum, $lengthWord) {
$shifted = date("Y-m-d H:i:s", strtotime($dateTimeIn." + $lengthNum $lengthWord"));
$difference = strtotime($shifted)-strtotime($dateTimeIn);
$shifted . " .floor($difference/3600) .
}
echo dateTimeShift($dateTimeNow, "1", "일");
?></pre>
<p>현재 결과는..</p>
<인용문>
<p>2023-01-04 09:37:51 > 19361일 또는 464673시간</p>
</인용문>
<p>이런 상황일 거라고 예상했어요</p>
<인용문>
<p>2023-01-04 09:37:51 > 1일 또는 24시간
</blockquote></p>
문제는 매개 변수 없이 date() 함수를 사용하고 있다는 것입니다. 다음을 사용해 보세요.
으아악출력:
으아악