作者hannsg546 (冰MMNBNB)
看板Ajax
標題[JS] 請問請假時數計算
時間Mon Jul 9 20:06:42 2012
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)
1F:推 s25g5d4:你應該去問問你老闆 07/09 20:27
2F:推 qwer820404:請假時間在下午五點以後… 下午五點不就下班了… 07/09 22:55
3F:→ b12031106:我覺得你先看清楚自己在寫什麼比較好.. 07/10 13:17
4F:→ minejel:限制輸入就好了..不過也不要太相信前端的數值,後端接收顧 07/11 00:17
5F:→ minejel:好比較重要,跨日有diffdate還是datediff的可以很方便算差 07/11 00:18