JS 獲取一段時間內的工作時長小時數

2021-09-13 12:26:33 字數 1477 閱讀 6567

本來想是想找輪子的,但是並沒有找到能用的,多數都是問題很大,所以就自己寫了乙個

支援自選時間段,即開始時間與結束時間

根據使用者的上班及下班時間判定

返回小時數

moment.js

怎麼說呢,其實這個邏輯不是很複雜

主要是確定起始時間、結束時間與打卡上班時間、打卡下班時間的關係問題

起始時間《上班時間 ---> 將begindate設定成上班時間

起始時間》下班時間 ---> 將begindate設定成上班時間 並且日期+1

結束時間》下班時間 ---> 將enddate設定成下班時間

結束時間《上班時間 ---> 將begindate設定成上班時間 並且日期-1

然後就是判斷是不是工作日了

起始是否同一天

大概思路就是這樣 嗯

/**

* * @param st start 2018-02-02 12:00

* @param et end 2018-02-02 12:00

* @param das 打卡上班 10:00:00 格式必須

* @param dax 打卡下班 10:00:00 格式必須

*/getworkhours( st, et, das, dax)

var dax =

var _totalhour = 0;

//獲取開始時間和結束時間

var _begindate = moment(st);

var _enddate = moment(et);

var _begin =

var _end =

//整理

if (_begindate.isbefore(moment(object.assign({},_begin,das)))) else if (_begindate.isafter(moment(object.assign({},_begin,dax))))

if (_enddate.isafter(moment(object.assign({},_end,dax)))) else if (_enddate.isbefore(moment(object.assign({},_begin,das))))

var _datetime = _begindate;

while (moment(_datetime).issameorbefore(_enddate, "day"))

if (moment(_datetime).issame(_begindate, "day")) else

} else if (moment(_datetime).issame(_enddate, "day")) else

}console.log("總計", _totalhour)

return _totalhour

}

細節處可能還有瑕疵,歡迎討論

php獲取一段時間內的法定工作日

首先,需要自己在後台建立乙個表 content cooper 這個結構如下 create table my content cooper id int 11 unsigned not null auto increment comment 節假日記錄表id year tinyint 3 not nu...

linux ted查詢一段時間內日誌

結論 所要查詢的起始時間 和 結束時間必須在日誌檔案中有相等的時間,否則 case 1 若起始時間沒有相等,則查詢無效。case 2,若結束時間沒有相等,而起始時間有相等,則查詢結果會從起始時間一直到日誌檔案結束。日誌檔案 logdemo1.log 內容如下 2021 01 03 10 46 00,...

Linux 擷取一段時間內的日誌檔案

參考 擷取一段時間內的log日誌可以使用sed命令對log檔案進行抽取操作 1,sed檢視某時間段到現在的系統日誌 sed n may 20 17 p var log messages less 2,sed 截選時間段日誌 假如日誌的格式是 2015 05 04 09 25 55,606 後面跟日誌...