이것은 순간입니다. JS 플러그인은 영업일 기준 (예 : 월요일부터 금요일까지) 만 작업 할 수 있습니다. 근무 주를 사용자 정의하고 공휴일의 맞춤 날짜를 설정하여 영업일 기준으로 계산되지 않도록 제외합니다 .
NB : 비즈니스가 아닌 날에 떨어지는 순간 대상에서 영상을 추가하거나 빼면 그 날은 계산되지 않습니다. 예를 들어:
// 기본 작업 주중 사용 : 월요일 ~ 금요일 ([1, 2, 3, 4, 5]) const 토요일 = 순간 ( '2022-01-01'); // 순간 <2022-01-01T00 : 00 : 00 : 00+01 : 00>, Saturdayconst SaturdayPlustwo = 토요일 .BusinessAdd (2); // 순간 <2022-01-04T00 : 00 : 00 : 00+01 : 00>, 화요일
이 플러그인은 서버와 클라이언트 측에서 작동합니다.
이 플러그인은 Momentjs-Business를 기반으로합니다.
모든 기부금을 환영합니다.
이 플러그인을 더 좋게 만들어 준 기고자들에게 감사합니다 !!
// nodejs : 표준 순간 대신 요구 사항 packag
<!-브라우저-> <!-nb : moment.js를 추가합니다. js-> <script src = "moment.js"> </script> <script src = "moment-business-days.js"> </스크립트>
var moment = require ( 'moment-business-days'); var 7 월 4 일 = '2015-07-04'; var laborday = '2015-09-07'; var boxingday = '2020-12-26'; moment.updatelocale ('우리를', { 휴일 : [7 월 4 일, 노동 일], Holidayformat : 'yyyy-mm-dd', 강제 비즈니스 데이 : [Boxingday], forcedBusinessDaysformat : 'yyyy-mm-dd'}); // Moment-Business-Days는 이제이 휴일을 영업일 기준으로 고려하지만 여전히 강제 업무 일을 계산합니다.
var moment = require ( 'moment-business-days'); moment.updatelocale ( 'us', { Workingweekdays : [1, 2, 3, 4, 5, 6]}); // 영업일로 1 (월요일)에서 6 (토요일)에서 일을 정의합니다. 일요일은 0 일입니다 .///이 구성 매개 변수를 생략 할 때 영업일은 로케일 기본값을 기반으로합니다.
메소드로 반환 된 객체는 Moment.js 객체 ( .isBusinessDay()
및 .businessDiff()
제외)이므로 Moment.js 기본 메소드로 처리 할 수 있습니다.
.isHoliday()
=> 부울날짜가 지정된 휴일 중 하나인지 확인하고 참 또는 거짓을 반환하십시오.
.isBusinessDay()
=> 부울날짜가 영업일인지 확인하고 참 또는 거짓을 반환하십시오.
// 31st는 토요일 모멘트입니다 ( '2015-01-31', 'yyyy-mm-dd'). isbusinessday () // false // 30은 금요일 모멘트입니다 ( '2015-01-30', 'yyyy-mm-dd' ) .isbusinessday () // true
.businessDaysIntoMonth()
=> 숫자MONCE MONT.JS 객체가 시작된 이후 영업일의 양을 계산하십시오.
Var BusinessDaysSince-Begindingofthememonth = Moment ( '2021-07-01', 'yyyy-mm-dd'). BusinessDaySintomonth (); // BusinessDaysSincindingofthemonth = 1var BusinessDaysSssInceBeginningofthemponth = Moment ( '2021-08-01', 'yyyyyymmd' ', ).businessDaysIntoMonth();// businessDaysSinceBeginningOfTheMonth = 0var businessDaysSinceBeginningOfTheMonth = moment('2021-08-15', 'YYYY-MM-DD').businessDaysIntoMonth();// businessDaysSinceBeginningOfTheMonth = 10var businessDaysSinceBeginningOfTheMonth = moment('2021-08- 31 ','yyyy-mm-dd '). BusinessDaysIntomonth (); // businessDaysSincindingofthemonth = 22
.businessDiff()
=> 번호날짜 사이의 영업일 금액을 계산하십시오.
var diff = moment ( '2017-05-15', 'yyyy-mm-dd'). businessdiff (moment ( '2017-05-08', 'yyyy-mm-dd')); // diff = 5
businessDiff
의 기본 동작은 Moment 's diff
에서 벗어난 절대 값을 반환하는 것입니다. diff
의 동작에 맞추기 위해 businessDiff
의 두 번째 인수로 true
하십시오.
var diff = moment ('05 -08-2017 ','yyyy-mm-dd '). BusinessDiff (moment ('05-15-2017', 'yyyy-mm-dd'), true); // diff = -5
.businessAdd(days)
=> 모멘트비즈니스가 아닌 날을 건너 뛰고 순간을 돌려주는 주어진 일을 추가합니다 .js 객체 :
// 30은 금요일 모멘트입니다 ( '2015-01-30', 'yyyy-mm-dd'). BusinessAdd (3) ._ d // 2 월 4 일 2015 00:00:00 GMT-0600 (CST)
.businessSubtract(days)
=> 순간비즈니스가 아닌 날을 건너 뛰는 주어진 날을 빼고 순간을 돌려줍니다 .js 객체 :
// 27th는 화요일 모멘트입니다 ('27-01-2015 ','dd-mm-yyyy '). BusinessSubtract (3) ._ D // 1 월 22 일 00:00:00 GMT-0600 (CST)
.nextBusinessDay()
=> 모멘트다음 비즈니스 날짜를 순간으로 검색합니다 .js 객체 :
// 다음 영업일 금요일 30 일 금요일 ( '2015-01-30', 'yyyy-mm-dd'). NextBusinessday () ._ d // 월요일 2015 년 2 월 00:00:00 GMT-0600 (CST) // 월요일 2ndmoment의 다음 영업일 ( '2015-02-02', 'yyyy-mm-dd'). NextBusinessday () ._ d // tue 2 월 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')의 이전 영업일. prevbusinessday () ._ d // fri 2015 00:00:00 GMT-0600 (CST) // 화요일의 이전 영업일 3rdmoment ( '2015-02-03', 'yyyy-mm-dd'). prevbusinessday () ._ d // 월요일 2015 년 2 월 00:00:00 GMT-0600 (CST)
기본적으로 지난 7 일 만 이전 영업일에 대해 확인합니다. 7 일을 넘어 검색하려면 prevbusinessdayLimit (숫자)가 더 높아집니다.
var moment = require ( 'moment-business-days'); moment.updatelocale ( 'us', { prevbusinessdayLimit : 31});
.monthBusinessDays()
=> moment []한 달에 영업일의 배열을 검색하면 각각은 순간 입니다.
// 2015 년 1 월 월 영업일 ( '2015-01-01', 'yyyy-mm-dd'). MononbusinessDays ()/*[{_isamomentObject : true, _i : '2015-01-01', _f : ' yyyy-mm-dd ', _isutc : false, _pf : {...}, _locale : {...}, _d : thu Jan 01 2015 00:00:00 gmt-0600 (cst)} {...} , (...)]*/
.monthNaturalDays()
=> Moment [] .monthBusinessDays()
와 같지만이 방법에는 주말이 포함됩니다.
.monthBusinessWeeks()
=> Moment [] []배열 배열을 검색하면이 배열은 비즈니스 주를 표현하는 것이며 매주 (배열) 자체 업무 일 (월요일부터 금요일)이 있습니다. 일주일 (배열)이 5 일 미만의 경우가있을 수 있습니다. 예를 들어, 2015 년 1 월 첫째 주에는 이틀, 목요일 1 일 및 금요일 2 일이 있습니다. 매주 매일 배열은 Moment.js 객체입니다.
// 2015 년 1 월에 비즈니스 주간 Moment ( '2015-01-01', 'yyyy-mm-dd'). monondbusinessweeks ()/*[[{_isamomentObject : true, _i : '01-01-2015 ', _f : 'dd-mm-yyyy', _isutc : false, _pf : [...], _locale : [...], _d : thu Jan 01 2015 00:00:00 gmt-0600 (cst)}, {_isamentobject : true, _i : '01 -01-2015 ', _f :'dd-mm-yyyy ', _isutc : false, _pf : [...], _locale : [...], _d : Fri Jan 02 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