Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!doctype html>
- <html>
- <head>
- <title>days360 test</title>
- </head>
- <body>
- <script>
- var days360 = function( d1, d2 ) {
- var dateA = ( d1 instanceof Date ) ? d1 : new Date( d1 );
- var dateB = ( d2 instanceof Date ) ? d2 : new Date( d2 );
- var dayA = dateA.getDate();
- var dayB = dateB.getDate();
- var lastDayOfFebruary = function( date ) {
- var lastDay = new Date( date.getFullYear(), 2, -1 ).getDay();
- return date.getDate() == lastDay;
- }
- if ( lastDayOfFebruary( dateA ) && lastDayOfFebruary( dateB ) ) {
- dayB = 30;
- }
- if ( dayA == 31 || lastDayOfFebruary( dateA ) ) {
- dayA = 30;
- }
- if ( dayA == 30 && dayB == 31 ) {
- dayB = 30;
- }
- var days = ( ( dateB.getFullYear() - dateA.getFullYear() ) * 360 ) + ( ( ( dateB.getMonth() + 1 ) - ( dateA.getMonth() + 1 ) ) * 30 ) + ( dayB - dayA );
- return days;
- }
- console.log( "Start: 1/1/2016 - End: 1/16/2016 days = " + days360( '1/1/2016', '1/16/2016' ) );
- console.log( "Start: 1/1/2016 - End: 2/1/2016 days = " + days360( '1/1/2016', '2/1/2016' ) );
- console.log( "Start: 3/12/2016 - End: 7/21/2016 days = " + days360( '3/12/2016', '7/21/2016' ) );
- console.log( "Start: 12/31/2015 - End: 2/29/2016 days = " + days360( '12/31/2015', '2/29/2016' ) );
- console.log( "Start: 1/1/2016 - End: 3/1/2016 days = " + days360( '1/1/2016', '3/1/2016' ) );
- console.log( "Start: 1/1/2016 - End: 1/1/2017 days = " + days360( '1/1/2016', '1/1/2017' ) );
- console.log( "Start: 7/22/2016 - End: 7/22/2017 days = " + days360( '7/22/2016', '7/22/2017' ) );
- console.log( "Start: 7/22/2016 - End: 7/22/2020 days = " + days360( '7/22/2016', '7/22/2020' ) );
- console.log( "Start: 2/28/2006 - End: 2/28/2007 days = " + days360( '2/28/2006', '2/28/2007' ) );
- console.log( "Start: 7/22/2020 - End: 7/22/2016 days = " + days360( '7/22/2020', '7/22/2016' ) );
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement