日期:2014-05-16  浏览次数:20384 次

时间计算
现在我要在做人事模块的请假,我们公司各个岗位的上下班时间不一样,但都是七小时,我的请假表单中有四个时间分别是开始时间、开始日期、结束时间、结束日期,我怎么计算请假的时数啊,这四个时间是请假人自已选的,求助啊
------解决方案--------------------
都没高手指点一下啊
------解决方案--------------------

------解决方案--------------------
var date = new Date();
date.setYear();
date.setMonth();
date.setDate();
date.setHours();
date.setMinutes();
date.
------解决方案--------------------
引用:
var date = new Date();
date.setYear();
date.setMonth();
date.setDate();
date.setHours();
date.setMinutes();
date.


var date = new Date();
date.setYear(2012);
date.setMonth(10);//月份,基于0
date.setDate(26);
date.setHours(22);//时
date.setMinutes(10);//分
date.setSeconds(1)秒


------解决方案--------------------
引用:
引用:var date = new Date();
date.setYear();
date.setMonth();
date.setDate();
date.setHours();
date.setMinutes();
date.

var date = new Date();
date.setYear(2012);
da……


这个是把其它值转换为时间的方法

var startTime = ...;
var endTime = ...;
var dt = (startTime.getTime() - endTime.getTime() ) /1000 ;//dt为两个时间相隔的秒数
------解决方案--------------------
把开始日期和时间取出后转换成date类型的
同样吧结束日期和时间取出转换成date类型的
之后将两个日期getTime()转换成格林威治时间后相减,得到的就是时间差了(毫秒的),转换成小时的试试
------解决方案--------------------
这个时间相剪我会,只是每天的工作时间为7小时,比如:我的请假时间为:2012-10-27 9:00:00-2012-10-30 18:00:00那么我的实际请假时间为32小时
------解决方案--------------------
引用:
这个时间相剪我会,只是每天的工作时间为7小时,比如:我的请假时间为:2012-10-27 9:00:00-2012-10-30 18:00:00那么我的实际请假时间为32小时


楼主:有些东西是技术解决不了的。业务的复杂性,决定了很多事情要从业务的角度去出发。

比如你这个,你做的好好的了。人家明天要改成每天上班8小时,你是不是又要改你的代码或者配置文件?或者,我请周五到周一的假,计算是4天,其实我只有2天。

所以呢,建议:
1. 加多一个字段:小时数,或者天数。
2. 将开始时间结束时间精确到时分,这样就可以省去两个字段了。这个用My97Date时间组件可做到的。
3. 请假,必然有人审批,请假人填写的正确性与否,留给审批人去判断,你就不要做这个事了,吃力不讨好。

开始时间:2012-11-20 08:00
结束时间:2012-11-21 17:00
小 时 数:14


------解决方案--------------------
还应该加多2个字段:
休假类型: 病假/事假/调休/年假 等
休假备注:请假原因
------解决方案--------------------
要这个东西,只有一个原因,扣不扣工资,怎么扣工资。