Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4a4ed57

Browse files
authored
refactor: useisLeapYear (#1638)
1 parentd8cfdcd commit4a4ed57

File tree

3 files changed

+34
-23
lines changed

3 files changed

+34
-23
lines changed

‎Conversions/DateDayDifference.js

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,8 @@
66
Algorithm & Explanation : https://ncalculators.com/time-date/date-difference-calculator.htm
77
*/
88

9-
// Internal method for make calculations easier
10-
constisLeap=(year)=>{
11-
if(year%400===0)returntrue
12-
elseif(year%100===0)returnfalse
13-
elseif(year%4===0)returntrue
14-
elsereturnfalse
15-
}
9+
import{isLeapYear}from'../Maths/LeapYear'
10+
1611
constDateToDay=(dd,mm,yyyy)=>{
1712
return(
1813
365*(yyyy-1)+
@@ -21,7 +16,7 @@ const DateToDay = (dd, mm, yyyy) => {
2116
Math.floor((yyyy-1)/400)+
2217
dd+
2318
Math.floor((367*mm-362)/12)+
24-
(mm<=2 ?0 :isLeap(yyyy) ?-1 :-2)
19+
(mm<=2 ?0 :isLeapYear(yyyy) ?-1 :-2)
2520
)
2621
}
2722

‎Timing-Functions/GetMonthDays.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
e.g.: mahfoudh.arous.com ->false
77
*/
88

9+
import{isLeapYear}from'../Maths/LeapYear'
10+
911
constgetMonthDays=(monthNumber,year)=>{
1012
constthe31DaysMonths=[1,3,5,7,8,10,12]
1113
constthe30DaysMonths=[4,6,9,11]
@@ -26,11 +28,8 @@ const getMonthDays = (monthNumber, year) => {
2628
return30
2729
}
2830

29-
// Check for Leap year
30-
if(year%4===0){
31-
if(year%100!==0||(year%100===0&&year%400===0)){
32-
return29
33-
}
31+
if(isLeapYear(year)){
32+
return29
3433
}
3534

3635
return28

‎Timing-Functions/test/GetMonthDays.test.js

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,33 @@
11
import{getMonthDays}from'../GetMonthDays'
22

33
describe('Get the Days of a Month',()=>{
4-
it('expects to return 28',()=>{
5-
expect(getMonthDays(2,2018)).toEqual(28)
6-
})
7-
8-
it('expects to return 30',()=>{
9-
expect(getMonthDays(6,254)).toEqual(30)
10-
})
11-
12-
it('expects to return 29',()=>{
13-
expect(getMonthDays(2,2024)).toEqual(29)
4+
it.each([
5+
[1,2024,31],
6+
[2,2024,29],
7+
[3,2024,31],
8+
[4,2024,30],
9+
[5,2024,31],
10+
[6,2024,30],
11+
[7,2024,31],
12+
[8,2024,31],
13+
[9,2024,30],
14+
[10,2024,31],
15+
[11,2024,30],
16+
[12,2024,31],
17+
[1,2023,31],
18+
[2,2023,28],
19+
[3,2023,31],
20+
[4,2023,30],
21+
[5,2023,31],
22+
[6,2023,30],
23+
[7,2023,31],
24+
[8,2023,31],
25+
[9,2023,30],
26+
[10,2023,31],
27+
[11,2023,30],
28+
[12,2023,31]
29+
])('Month %i in year %i has %i days',(month,year,expected)=>{
30+
expect(getMonthDays(month,year)).toBe(expected)
1431
})
1532

1633
it('expects to throw a type error',()=>{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp