我正在開發一個使用PHP和MySQL以及一點點javascript的打字應用程序。 PHP代碼用於獲取服務器時間。我正在使用以下javascript函數來顯示瀏覽器中的開始時間和結束時間(通過在啓動時間的分鐘值上添加5分鐘)。爲什麼這段代碼對某些特定輸入顯示奇怪的值?
function display(){
// get the server time using PHP and print the start time and end time
var servDateArray='<?php print date("Y/n/d/H/i/s", time())?>'.split('/');
starttime_year = servDateArray[0];
starttime_month = servDateArray[1];
starttime_day = servDateArray[2];
starttime_hour = servDateArray[3];
starttime_minutes = servDateArray[4];
starttime_seconds = servDateArray[5];
// print the Start time
document.getElementById("starttime_echoed").innerHTML= starttime_hour+":"+starttime_minutes+":"+starttime_seconds;
document.typing.starttime.value=starttime_hour+":"+starttime_minutes+":"+starttime_seconds;
// print the End time
endtime_hour = parseInt(starttime_hour) + 0;
endtime_min = parseInt(starttime_minutes) + 5;
endtime_sec = parseInt(starttime_seconds) + 0;
if (endtime_sec>=60) { endtime_sec = -(60 - endtime_sec); endtime_min = parseInt(endtime_min)+1; }
if (endtime_min>=60) { endtime_min = -(60 - endtime_min); endtime_hour = parseInt(endtime_hour)+1; }
if (endtime_hour>=24) { endtime_hour = -(24 - endtime_hour); }
if (endtime_sec<=9) { endtime_sec="0"+endtime_sec; }
if (endtime_min<=9) { endtime_min="0"+endtime_min; }
if (endtime_hour<=9) { endtime_hour="0"+endtime_hour; }
document.getElementById("endtime_echoed").innerHTML= endtime_hour+":"+endtime_min+":"+endtime_sec;
document.typing.endtime.value=endtime_hour+":"+endtime_min+":"+endtime_sec;
displayTimer();
}
上面的代碼工作得很好的小時,分鍾和秒節選所有輸入值時的小時,分鍾和秒被設置爲8或9。然而,我試圖通過插入線的調試code alert(parseInt(starttime_minutes));行後endtime_min = parseInt(starttime_minutes)+ 5;當我提供8或9作爲分鐘值時它返回0。我相信這個函數返回0小時,分鐘和秒。具體而言,我給你舉個例子:如果服務器時間是08:09:37,那麼結束時間將變成00:05:37。我感到困惑。請幫忙。