2014-04-21 5 views
0

저는 두 개의 타임 스탬프 사이에 현재 시간의 비율을 얻기 위해 간단한 알고리즘을 시도하고 있습니다.타임 스탬프 수학, 백분율

$percentCompleted = ((time() - $startTimestamp)/$endTimestamp) * 100; 

모든는 "시간()"

지금까지 내가있어를 내가 PHP를 사용하고 있는데 유닉스 타임 스탬프

(이, 미안 읽고 혼란 그래서 아마도 작성하는 혼란) 아이디어?

+0

? 타임 스탬프인가요? 나는 그것이 duration을 추정해야한다고 생각한다. – hindmost

+0

$ endTimestamp는 time() + $ secondsUntilExpire –

+0

에 의해 계산된다. 따라서 식에'$ endTimestamp'가 필요 없다. '$ secondsCompleted = ((time() - $ startTimestamp)/$ secondsUntilExpire) * 100;' – hindmost

답변

1

타임 스탬프를 종료하기 위해 시작 타임 스탬프와의 차이로 결과를 정규화해야합니다. 물론

$percentCompleted = ((time() - $startTimestamp)/($endTimestamp - $startTimestamp)) * 100; 

당신은 몇 시간처럼 잘못된 입력에 대한 보호 추가 할 수 있습니다()> $ endTimestamp 당신은`$ endTimestamp`을 정의하는 방법

$percentCompleted = ((min(time(),$endTimestamp) - $startTimestamp)/($endTimestamp - $startTimestamp)) * 100; 
+0

이것은 효과가있는 것 같지만 몇 가지 결과가 음의 퍼센트로 되돌아 왔습니다. 조사 할게. –

+0

@McDanGarrett 아마도 이것은 time() <$ startTimestamp에 의해 발생합니다. – Tomas