두 날짜 사이의 총 시간 (초)을 계산하는 가장 좋은 방법은 무엇입니까? 지금까지 다음과 같은 내용을 시도했습니다.
$delta = $date->diff(new DateTime('now'));
$seconds = $delta->days * 60 * 60 * 24;
그러나 days
DateInterval 객체 의 속성은 현재 PHP5.3 빌드에서 손상된 것 같습니다 (적어도 Windows에서는 항상 동일한 6015
값을 반환 함 ). 나는 또한 매월 일수 (반올림 30), 윤년 등을 보존하지 못하는 방식으로 시도했습니다.
$seconds = ($delta->s)
+ ($delta->i * 60)
+ ($delta->h * 60 * 60)
+ ($delta->d * 60 * 60 * 24)
+ ($delta->m * 60 * 60 * 24 * 30)
+ ($delta->y * 60 * 60 * 24 * 365);
하지만 저는이 반쪽짜리 솔루션을 사용하는 것이 정말 만족스럽지 않습니다.
@warrenm 문제
—
Vadim Samokhin aug
format
는 초가 0이고 분이 1이면 $delta->format("%r%s")
0으로 판명 될 때입니다. :(
더 나쁜 것은 위의 정확한 코드를 붙여 넣은 코더의 코드 검토에서 발견 된 결함을 수정하는 누군가입니다. 매월 30 일이 아니라 매년 365 일이 아닙니다. :) [편집 : 그리고 그 코더는
—
나일
$delta->format("%r%s")
무엇입니까?