java 脚本函数中的日差

Day difference in the java script function

本文关键字:脚本 函数 java      更新时间:2023-09-26

例如。

一天从 :: 9/3/15 14:00:00

开始

日终 至 :: 10/3/15 13:59:59

考虑一天在 14.00.00 结束,而不是从 24.00.00 结束

Example 1 ::
Input
Start date :: 9/3/15 15:05:00
End date :: 10/3/15 7:05:00
在这里,一天在 14.00.00

之后开始,在第二天的 14.00.00 之前结束,所以这里没有完成一天。所以它将返回 0 天

Example 2 ::
Input
Start date :: 10/3/15 12:05:00
End date :: 10/3/15 15:05:00
在这里,一天在 14.00.00

之前开始,在第二天的 14.00.00 之后结束,所以在这里完成这一天。所以它会返回 1 天

在这里,一天在 14.00.00 结束

function dayDiff(sdate, edate) {
                var df1 = (Math.abs(sdate.getDay() - edate.getDay()));
                var timeDiff = Math.abs(sdate.getTime() - edate.getTime());
                var df = Math.floor(timeDiff / (1000 * 3600 * 24));
                if (sdate.getDay() == edate.getDay()) {
                    if (sdate.getHours() < 14 && sdate.getMinutes() <= 59 && sdate.getSeconds() <= 59 && edate.getHours() >= 14 && edate.getMinutes() >= 0 && edate.getSeconds() >= 0)
                        return 1;
                    else
                        return 0;
                } else if (df1 == 1) {
                    if (sdate.getHours() < 14 && sdate.getMinutes() <= 59 && sdate.getSeconds() <= 59 && edate.getHours() >= 14 && edate.getMinutes() >= 0 && edate.getSeconds() >= 0)
                        return 1;
                    else
                        return 0;
                } else if (df1 > 1) {
                    if (sdate.getHours() < 14 && sdate.getMinutes() <= 59 && sdate.getSeconds() <= 59 && edate.getHours() >= 14 && edate.getMinutes() >= 0 && edate.getSeconds() >= 0)
                        return df + 1;
                    else
                        return df;
                }
            }

此函数代码要求是获取 2 个日期差开始日期和结束日期。但一天从 14 小时(下午 2 点)开始。

for example ::
1
    start date : 13/03/2015 15:10:55
    End date : 14/03/2015 10:15:45
    day difference return 0
 2  start date : 13/03/2015 15:10:55
    End date : 14/03/2015 14:15:45
    day difference return 1
3   start date : 14/03/2015 10:09:55
    End date : 14/03/2015 14:15:45
    day difference return 1
function dayDiff(sdate, edate) {                
                var df = (Math.abs(sdate.getDay() - edate.getDay()));                                
                if (sdate.getHours() < 14 && sdate.getMinutes() <= 59 && sdate.getSeconds() <= 59 && edate.getHours() > 14 && edate.getMinutes() > 0 && edate.getSeconds() > 0) {
                    df+=1;                 
                }
                return df;
            }