From f141d9e8b96b3e44de549d868dbdff87e197e50e Mon Sep 17 00:00:00 2001 From: Yuan Chiu Date: Tue, 17 Mar 2015 17:01:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=A6=E4=BD=9CStudyActivity=20Lib:=20getRem?= =?UTF-8?q?ainingTime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/lib/Study/StudyActivity.php | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/htdocs/lib/Study/StudyActivity.php b/htdocs/lib/Study/StudyActivity.php index c0a230a..a4bea47 100644 --- a/htdocs/lib/Study/StudyActivity.php +++ b/htdocs/lib/Study/StudyActivity.php @@ -313,15 +313,25 @@ class StudyActivity { */ public function getRemainingTime() { - // TODO: 取得這次學習還剩下多少學習時間 - // 計算總共學習時間(包含延長時間) - $haveTime = $this->getLearnTime() - $this->getDelay(); + $haveTime = $this->getRealLearnTime(); - // 取得現在時間 - // 開始時間+學習時間 = 應結束時間 + // 現在時間-開始時間 = 已經過了多久 + $nowDate = strtotime("now"); + $startDate = strtotime($this->getStartTime()); + $elapsedDate = $nowDate - $startDate; + $elapsedMinute = (int)(date('H', $elapsedDate)*60); + // 取得目前時區差(分鐘) + $timeZoneMinute = ((int)date('O')/100)*60; + // 扣除時區時間差 + $elapsedMinute = $elapsedMinute - $timeZoneMinute; + // 加上分鐘 + $elapsedMinute = $elapsedMinute + (int)(date('i', $elapsedDate)); - // 應結束時間-現在時間 = 剩餘時間 + // 可學習時間 - 已經過了多久 = 剩餘時間 + $remainingMinute = $haveTime - $elapsedMinute; + + return (int)$remainingMinute; } /**