1 整天的不管了
2 不足一天的,则逐个进行判断就行了 if(hour>=9 && hour<=18){
... 不用写了吧...
}
2 不足一天的,则逐个进行判断就行了 if(hour>=9 && hour<=18){
... 不用写了吧...
}
解决方案 »
- 高分求解onmouseleave有时不正常触发原因
- 获取table左上角坐标
- javascript的取值问题
- javascript 保存xml问题?
- 急,(如图)一个静态html页面,我只想打印新闻部分,该如何实现啊?
- ●●古怪的javascript问题,几个图片放在不同的<div id=111></div>中,如何根据图片名得到其div的ID?
- jqgrid自动滚动
- 怎样在5秒后自动关闭alert("5秒后自动关闭")?
- HTML编辑器怎样把焦点所在的文本是什么样式,比如:是粗体,粗体按钮就是按中的
- 怎样在新开一个窗口的同时关闭原窗口?(63分)
- JS如何比较两个日期相差几天?不考虑时间
- textarea中如何按照限制的长度进行自动的调整
{
var dayWorkMinute=(workTimeEnd-workTimeStart)*60;
refDate=new Date(refDate.replace(/-/g,"/"));
if(refDate.toString()=="NaN"){alert("错误的时间类型!");return -1;}
var nowDate=new Date();
if(refDate>nowDate){alert("请输入一个小于今天的时间!");return -1;}
var totalMinute=0;
//计算天数差
var days=parseInt((nowDate-refDate)/(1000*60*60*24));//求相隔的天数
totalMinute+=days*dayWorkMinute;
//计算日期时间的差
var refHour=refDate.getHours(),refMinute=refDate.getMinutes(),nowHour=nowDate.getHours(),nowMinute=nowDate.getMinutes();
if(refHour>=workTimeStart&&refHour<workTimeEnd)//计算传递的日期时间
totalMinute+=(workTimeEnd-refHour)*60+refMinute;
if(nowHour>workTimeStart&&nowHour<workTimeEnd)//计算现在的日期时间
totalMinute+=(nowHour-9)*60+nowMinute;
return totalMinute;
}//测试
var workMinute,refDate="2008-6-18 18:00:00";
workMinute=Compute(9,18,refDate);
if(workMinute!=-1)alert("从"+refDate+"到现在已经工作了"+workMinute+"分钟!");
refDate="2008-6-25 18:00:00";
workMinute=Compute(9,18,refDate);
if(workMinute!=-1)alert("从"+refDate+"到现在已经工作了"+workMinute+"分钟!");
refDate="2008-6-17 18:00:00";
workMinute=Compute(9,18,refDate);
if(workMinute!=-1)alert("从"+refDate+"到现在已经工作了"+workMinute+"分钟!");
refDate="2008-6-15 18:00:00";
workMinute=Compute(9,18,refDate);
if(workMinute!=-1)alert("从"+refDate+"到现在已经工作了"+workMinute+"分钟!");
function Compute(workTimeStart,workTimeEnd,refDate)
{
var dayWorkMinute=(workTimeEnd-workTimeStart)*60;
refDate=new Date(refDate.replace(/-/g,"/"));
if(refDate.toString()=="NaN"){alert("错误的时间类型!");return -1;}
var nowDate=new Date();
if(refDate>nowDate){alert("请输入一个小于今天的时间!");return -1;}
var totalMinute=0;
//计算相差天数
var refDate1=refDate.getYear()+"-"+(refDate.getMonth()+1)+"-"+refDate.getDate()+" 00:00:00";
refDate1=new Date(refDate1.replace(/-/g,"/"));
var nowDate1=nowDate.getYear()+"-"+(nowDate.getMonth()+1)+"-"+nowDate.getDate()+" 00:00:00";
nowDate1=new Date(nowDate1.replace(/-/g,"/"));
var days=parseInt((nowDate1-refDate1)/(1000*60*60*24));//求相隔的天数
//alert(days);
//totalMinute+=days*dayWorkMinute;
//计算日期时间的差
if(refDate.getHours()<workTimeStart)
{
refDate=refDate.getYear()+"-"+(refDate.getMonth()+1)+"-"+refDate.getDate()+" "+workTimeStart+":00:00";
refDate=new Date(refDate.replace(/-/g,"/"));
alert(refDate.getMonth());
alert(refDate);
}
if(refDate.getHours()>workTimeEnd)
{
refDate=refDate.getYear()+"-"+(refDate.getMonth()+1)+"-"+refDate.getDate()+" "+workTimeEnd+":00:00";
refDate=new Date(refDate.replace(/-/g,"/"));
}
if(nowDate.getHours()<workTimeStart)
{
nowDate=nowDate.getYear()+"-"+(nowDate.getMonth()+1)+"-"+nowDate.getDate()+" "+workTimeStart+":00:00";
nowDate=new Date(nowDate.replace(/-/g,"/"));
}
if(nowDate.getHours()>workTimeEnd)
{
nowDate=nowDate.getYear()+"-"+(nowDate.getMonth()+1)+"-"+nowDate.getDate()+" "+workTimeEnd+":00:00";
nowDate=new Date(nowDate.replace(/-/g,"/"));
}
alert(nowDate);
alert(refDate);
var totalMinute=parseInt((nowDate-refDate)/(1000*60))-days*(24-(workTimeEnd-workTimeStart))*60;
//工作时间=(格式化的现在时间-格式化后的开始时间)-(24-(工作时间))
alert(totalMinute);
return totalMinute;
}//测试
var workMinute,refDate="2008-6-19 19:00:00";
workMinute=Compute(9,18,refDate);
if(workMinute!=-1)alert("从"+refDate+"到现在已经工作了"+workMinute+"分钟!");
var ndata = "06/19/2008 20:12:02";
var pdate = "06/19/2008 20:12:20";
var sec = Date.parse(pdate) - Date.parse(ndata);
//sec 是毫秒 就看你想转换什么了