[ajax]請問計算時數
我更改了下面
function show_day() {
if (START_DATE.value=='')
{return false;}
if (END_DATE.value=='')
{return false;}
var date1 = DateUtils.toDate(START_DATE.value).format('yyyymmdd')
a=(date1.substring(4,6))
b=(date1.substring(0,4))
c=(date1.substring(6,8))
var start_time=new Date(b,a-1,c,START_TIME_HOURS.value,START_TIME_MIN.value,00)
var date2 = DateUtils.toDate(END_DATE.value).format('yyyymmdd')
aa=(date2.substring(4,6))
bb=(date2.substring(0,4))
cc=(date2.substring(6,8))
var end_time=new Date(bb,aa-1,cc,END_TIME_HOURS.value,END_TIME_MIN.value,00)
var time_hour_minute=0
var start_time1=new Date(b,a-1,c,08,30,00)
var end_time1=new Date(bb,aa-1,cc,17,30,00)
var start_time2=new Date(b,a-1,c,17,30,00)
var end_time2=new Date(b,a-1,c,08,30,00)
var time_minute=0
if(start_time<=start_time1 && end_time>=end_time1) {
alert("E")
time_hour_minute=(end_time-start_time)-(end_time-end_time1)-(start_time1-start_time)
time_hour_minute1=time_hour_minute
time_hour_minute=time_hour_minute/(1000*60*60)
time_minute=time_hour_minute1-(parseInt(time_hour_minute)*60*60*1000)
time_minute=time_minute/(60*1000)
if(time_hour_minute>24)
time_hour_minute=time_hour_minute-(parseInt((time_hour_minute/24)))*15
}
else if(start_time<=start_time1 && end_time<=end_time1) {
alert("D")
time_hour_minute=(end_time-start_time)-(start_time1-start_time)
time_hour_minute1=time_hour_minute
time_hour_minute=time_hour_minute/(1000*60*60)
time_minute=time_hour_minute1-(parseInt(time_hour_minute)*60*60*1000)
time_minute=time_minute/(60*1000)
if(time_hour_minute>24)
time_hour_minute=time_hour_minute-(parseInt((time_hour_minute/24)))*15
}
else if(start_time>=start_time1 && start_time<=start_time2 && end_time>=end_time1) {
alert("C")
debugger;
time_hour_minute=(end_time-start_time)-(end_time-end_time1)
time_hour_minute1=time_hour_minute
time_hour_minute=time_hour_minute/(1000*60*60)
time_minute=time_hour_minute1-(parseInt(time_hour_minute)*60*60*1000)
time_minute=time_minute/(60*1000)
if(time_hour_minute>24)
time_hour_minute=time_hour_minute-(parseInt((time_hour_minute/24)))*15
}
else if(start_time>=start_time1 && start_time<=start_time2 && end_time<=end_time1){
alert("B")
time_hour_minute=(end_time-start_time)
time_hour_minute1=time_hour_minute
time_hour_minute=time_hour_minute/(1000*60*60)
time_minute=time_hour_minute1-(parseInt(time_hour_minute)*60*60*1000)
time_minute=time_minute/(60*1000)
if(time_hour_minute>24)
time_hour_minute=time_hour_minute-(parseInt((time_hour_minute/24)))*15
}
else if (start_time>=start_time2){
if(end_time<end_time2)
{alert("AA")
var d=(parseInt(c)+1)
var start_time3=new Date(b,a-1,d,00,00,00)//隔天0時,當小於17:00大於8:00
var end_time3=new Date(bb,aa-1,cc,00,00,00)//結束當天0時
time_hour_minute=(end_time-start_time)-(start_time3-start_time)+(end_time-end_time3)
time_hour_minute/=(1000*24*60*60)//換算幾天
time_hour_minute*=9
}
if(end_time>end_time2 && end_time<end_time1)
{alert("BB")
debugger;
var d=(parseInt(c)+1)
var start_time3=new Date(b,a-1,d,00,00,00)//隔天0時,當小於17:00大於8:00
var end_time3=new Date(bb,aa-1,cc,00,00,00)//結束當天0時
time_hour_minute=(end_time-start_time)-(start_time3-start_time)-(end_time-end_time3)
time_hour_minute/=(1000*24*60*60)//換算幾天
time_hour_minute*=9
var time_diff=parseInt((end_time-end_time2)/(1000*60*60))//換算小時
time_hour_minute+=time_diff //加上最後一天時間
time_minute=((end_time-end_time2)-(time_diff*1000*60*60))/1000*60//換算分鐘
}
else
{alert("CC")
time_hour_minute+=9
}
}
var i=(start_time.getDate())
var j=(end_time.getDate())
var ii=(start_time.getDay())
var jj=(end_time.getDay())
var start_time_diff_hour=0
var start_time_diff_minute=0
var count_day=0
for(k=i;k<=j;k++){
date=new Date('b','a-1',k)
if(date.getDay()==0 || date.getDay()==6)
count_day+=1
}
time_hour_minute=time_hour_minute-(count_day*9)
還是不行
十間計算
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.221.134.110
→
08/12 13:52, , 1F
08/12 13:52, 1F
→
08/13 21:56, , 2F
08/13 21:56, 2F
→
08/13 21:57, , 3F
08/13 21:57, 3F
→
08/13 22:00, , 4F
08/13 22:00, 4F
→
08/15 17:34, , 5F
08/15 17:34, 5F
→
08/15 17:37, , 6F
08/15 17:37, 6F
→
08/15 17:37, , 7F
08/15 17:37, 7F
推
08/16 23:22, , 8F
08/16 23:22, 8F