這是一個時刻。JS插件,可讓您僅在工作日(即星期一至週五)工作。您可以自定義工作週,還可以為假期設置自定義日期,以將它們排除在算作工作日,例如全國假期。
NB:從落在非企業日的瞬間對像中添加或減去工作日時,將不計算那天。例如:
//使用默認工作日:星期一至週五([1、2、3、4、5])const natring = MONS = MONS('2022-01-01'); // MOMM <2022-01-01T00:00:00:00+01:00>,星期六Conconst Saturdayplustwo = Saturday.BusinessAdadd(2); // MOMM <2022-01-04T00:00:00+01:00>,星期二
該插件在服務器和客戶端均起作用。
該插件基於MomentJS-企業。
歡迎所有貢獻。
感謝貢獻者使這個插件變得更好!!
// nodejs:需要而不是標準矩包裝矩= require('Moment-Business-Days'); //您可以像往常一樣使用Moment.js。
<! - 瀏覽器 - > <! - nb:添加After Moment.js-> <script src =“ MONS.JS”> </script> <script src =“ Moment-Business-days.js”> </script >
var momment = require('Moment-Business-days'); var 7月4日='2015-07-04'; var laborday ='2015-09-07'; var boxingday ='2020-12-26'; moment.updateLocale ('我們', { 假期:[7月4日,勞動節], 假日形式:'yyyy-mm-dd', forceDbusinessdays:[boxingday], forceDbusiness-daysformat:'yyyy-mm-dd'}); // Momment-Business-Days現在將停止考慮將這些假期視為工作日,但仍然計算出強迫的工作日。
var moment = require('Moment-Business-Days'); Moment.UpdateLocale('US',{ WorkingWeekdays:[1,2,3,4,5,6]}); // //將日期定義為從1(星期一)到6(星期六)的日子。請注意,週日是0.//省略此配置參數時,工作日基於語言環境默認值
方法返回的對像是MOMM.JS對象( .isBusinessDay()
和.businessDiff()
),因此您可以使用MOMT.JS本機方法來處理它們。
.isHoliday()
=>布爾值檢查日期是否在指定的假期中,並返回true或false :
.isBusinessDay()
=>布爾值檢查日期是否是工作日,然後返回True或false :
//第31位是星期六('2015-01-31','yyyy-mm-dd')。isbusinessday()// false // 30th是星期五('2015-01-30','yyyy-mm- dd' ).isbusinessday()// true
.businessDaysIntoMonth()
=>數字計算以來本月開始以來的工作日。
var businessDaysbeginofthemonth = moment('2021-07-01','yyyy-mm-dd')。businessDaysIntomonth(); // businessDaysSbeginningofThemonoftheMonth = 1Var businessDayssbebussissbeinningningningningningofthemonoftheonofthemonthemth = moment = moment( ).businessdaysIntomonth(); // businessDayssBeginningOftheMonth = 0VAR businessDaysDayssBeginningOfThemonthemonthemthemonth = moment('2021-08-15','yyyy-mm-dd')。yyyy-mm-dd')。 31','yyyy-mm-dd')。businessDaysIntomonth(); // businessDayssbeginningnningofThemonth = 22
.businessDiff()
=>數字計算日期之間的工作日數量。
var diff = moment('2017-05-15','yyyy-mm-dd')。businessDiff(Moment('2017-05-08','yyyy-mm-dd')); // diff = 5
請注意, businessDiff
的默認行為是返回一個絕對值,這與MONK的差異diff
。為了使diff
的行為匹配為true
作為businessDiff
的第二個論點:
var diff = moment('05 -08-2017','yyyy-mm-dd')。businessDiff(Moment('05 -15-2017','yyyy-mm-dd'),true); // diff = = -5
.businessAdd(days)
=>力矩將添加給定的天數跳過非企業天數,返回時刻。JS對象:
// 30th是星期五('2015-01-30','yyyy-mm-dd')。businessAdd(3)._ d // d // 2015年2月4日,2015年2月4日00: 00:00 GMT-0600(CST)
.businessSubtract(days)
=>力矩將減去給定的天數跳過非企業天數,返回時刻。JS對象:
// 27日是星期二('27 -01-2015','dd-mm-yyyy')。businessSubtract(3)._ d // thu 2015年1月22日00:00:00:00 GMT-0600 (CST)
.nextBusinessDay()
=>力矩將檢索下一個業務日期作為瞬間。JS對象:
//下一個工作日,從星期五30日('2015-01-30','yyyy-mm-dd')。下一份。下一個工作日從星期一2ndmoment('2015-02-02', 'yyyy-mm-dd')。nextbusinessday()._ d // Tue Feb 03 Feb 03 2015 00:00:00 GMT-0600(CST)
默認情況下,未來僅7天就檢查了下一個工作日。搜索超過7天,將NextBusinessDaylimit(數字)設置得更高。
var moment = require('Moment-Business-Days'); Moment.UpdateLocale('US',{ NextBusinessDaylimit:31});
.prevBusinessDay()
=>力矩將檢索上一個業務日期作為時刻。JS對象:
//星期一2ndmoment的上一個工作日('2015-02-02','yyyy-mm-dd')。星期二的上一個工作日3rdmoment('2015-02-03','yyyy-mm-dd ')。
默認情況下,僅檢查了上一個工作日的最後7天。搜索超過7天,將prevbusinessdaylimit(數量)設置得更高。
var moment = require('Moment-Business-Days'); Moment.UpdateLocale('US',{ prevbusinessdaylimit:31});
.monthBusinessDays()
=> moment []檢索當月的工作日的數組,每個都是一個時刻。
// 2015年1月的工作日('2015-01-01','yyyy-mm-dd')。monthbusinessdays()/*[{_isamomentobject:true,_i:_i:_i:'2015-01-01 -01',_f:',_f:'',',_f:'' yyyy-mm-dd',_isutc:false,_pf:{...},_locale:{...},_d:thu: thu thu thu thu thu thu thu thu thu thu thu thu 00:00:00:00 gmt-0600(cst)}} {...} {...} {...} {...} ,(. ..)]*/
.monthNaturalDays()
=>矩[]就像.monthBusinessDays()
,但是這種方法將包括週末的回應。
.monthBusinessWeeks()
=> moment [] [] []檢索一系列陣列,這些陣列是業務週的代表,每個星期(陣列)都有自己的工作日(週一至週五)。可能有一個星期(陣列)不到5天,這是因為一個月在一個星期中期開始,例如:2015年1月的第一周只有兩天,星期四的1日和星期五第二。每週陣列中的每一天都是時刻。
// 2015年1月的商務週('2015-01-01','yyyy-mm-dd')。monthbusinessweeks()/*[[{{_isamomentObject:true,_i:'01 -01 -01-2015 ' 'dd-mm-yyyy',_isutc:false,_pf:[...],_locale:[...],_d:thu:thu thu 2015 00:00:00:00 gmt-0600(cst)} ,{_isamomentobject:_isamomentObject:是的,_i:'01 -01-2015',_f:'dd-mm-yyyy',_isutc:false,_pf:[...],_locale:[...],_d :_d:_d:fri jan 02 2015 2015 00: 00:00 GMT-0600(CST)}],[...]]*/
.monthNaturalWeeks()
=> moment [] [] []就像.monthBusinessWeeks()
,但是這種方法將包括週末的回應。
// For Node.js $ npm install moment-business-days // ...or install and save in package.json $ npm install --save moment-business-days // For bower $ bower install moment-business-days
npm test