[JS] 請問請假時數計算

看板Ajax作者 (冰MMNBNB)時間14年前 (2012/07/09 20:06), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/1
function getsum1() { var bDate = txtSTART_DATE_TIME.value; var eDate = txtEND_DATE_TIME.value; var bhour = cmbSTARTHOUR.value; var ehour = cmbENDHOUR.value; txtDAY.value = (DateDiff(bDate, eDate)); // txthour.value=(DateDiff_1(bhour,ehour)) if( bhour>=17 ){bhour=0,txtDAY.value=txtDAY.value-1 if(ehour>17){ehour=17}{txthour.value=ehour-bhour}} else{ if(bhour>=17){bhour=8} if(bhour>17){bhour=17} else if (bhour < 8){bhour = 8} else if (bhour == 12 ){bhour = 13} if(ehour<8){ehour=8} else if (ehour == 12 ){ehour = 13} else if(ehour > 17){ehour=17} // alert(bhour); // alert(ehour); if(bhour < 12 && ehour > 13 ) txthour.value=(ehour-bhour-1); else txthour.value=(ehour-bhour); // txthour.value = eval(ehour - bhour) if (txthour.value == 8) { txtDAY.value = parseInt(txtDAY.value, 10); //alert(txtDAY.value); txtDAY.value = parseInt(txtDAY.value) + 1 txthour.value = "0"; } } } //計算天數的函數 function DateDiff(asStartDate, asEndDate) { var miStart = asStartDate.replace(/\-/g, '/'); var miEnd = asEndDate.replace(/\-/g, '/'); var miStart_date = new Date(miStart); var miEnd_date = new Date(miEnd); return (miEnd_date - miStart_date) / (1000 * 24 * 3600); } 我想做的市,從早上8點上班下午五點,中間休息一小時,可是按鈕選項從0-23都有 當選早於8點以前的話,以8點開始算,請假時間在下午五點以後,以五點算 可是我做出來的假如使用者在開始時間輸入1700以後 小時數就沒辦法算正確 不知道要如何下手 上司出個問題要我做 不知道如何下手 這個還有要考慮跨日的問題 不知道如何 謝謝! 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.227.12.10 ※ 編輯: hannsg546 來自: 61.227.12.10 (07/09 20:08)

07/09 20:27, , 1F
你應該去問問你老闆
07/09 20:27, 1F

07/09 22:55, , 2F
請假時間在下午五點以後… 下午五點不就下班了…
07/09 22:55, 2F

07/10 13:17, , 3F
我覺得你先看清楚自己在寫什麼比較好..
07/10 13:17, 3F

07/11 00:17, , 4F
限制輸入就好了..不過也不要太相信前端的數值,後端接收顧
07/11 00:17, 4F

07/11 00:18, , 5F
好比較重要,跨日有diffdate還是datediff的可以很方便算差
07/11 00:18, 5F
文章代碼(AID): #1F-ibLej (Ajax)
文章代碼(AID): #1F-ibLej (Ajax)