Advertisement
Guest User

Untitled

a guest
Jul 27th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <title>days360 test</title>
  5. </head>
  6. <body>
  7. <script>
  8.  
  9. var days360 = function( d1, d2 ) {
  10. var dateA = ( d1 instanceof Date ) ? d1 : new Date( d1 );
  11. var dateB = ( d2 instanceof Date ) ? d2 : new Date( d2 );
  12.  
  13. var dayA = dateA.getDate();
  14. var dayB = dateB.getDate();
  15.  
  16. var lastDayOfFebruary = function( date ) {
  17. var lastDay = new Date( date.getFullYear(), 2, -1 ).getDay();
  18. return date.getDate() == lastDay;
  19. }
  20.  
  21. if ( lastDayOfFebruary( dateA ) && lastDayOfFebruary( dateB ) ) {
  22. dayB = 30;
  23. }
  24.  
  25. if ( dayA == 31 || lastDayOfFebruary( dateA ) ) {
  26. dayA = 30;
  27. }
  28.  
  29. if ( dayA == 30 && dayB == 31 ) {
  30. dayB = 30;
  31. }
  32.  
  33. var days = ( ( dateB.getFullYear() - dateA.getFullYear() ) * 360 ) + ( ( ( dateB.getMonth() + 1 ) - ( dateA.getMonth() + 1 ) ) * 30 ) + ( dayB - dayA );
  34.  
  35. return days;
  36. }
  37.  
  38. console.log( "Start: 1/1/2016 - End: 1/16/2016 days = " + days360( '1/1/2016', '1/16/2016' ) );
  39. console.log( "Start: 1/1/2016 - End: 2/1/2016 days = " + days360( '1/1/2016', '2/1/2016' ) );
  40. console.log( "Start: 3/12/2016 - End: 7/21/2016 days = " + days360( '3/12/2016', '7/21/2016' ) );
  41. console.log( "Start: 12/31/2015 - End: 2/29/2016 days = " + days360( '12/31/2015', '2/29/2016' ) );
  42. console.log( "Start: 1/1/2016 - End: 3/1/2016 days = " + days360( '1/1/2016', '3/1/2016' ) );
  43. console.log( "Start: 1/1/2016 - End: 1/1/2017 days = " + days360( '1/1/2016', '1/1/2017' ) );
  44. console.log( "Start: 7/22/2016 - End: 7/22/2017 days = " + days360( '7/22/2016', '7/22/2017' ) );
  45. console.log( "Start: 7/22/2016 - End: 7/22/2020 days = " + days360( '7/22/2016', '7/22/2020' ) );
  46. console.log( "Start: 2/28/2006 - End: 2/28/2007 days = " + days360( '2/28/2006', '2/28/2007' ) );
  47. console.log( "Start: 7/22/2020 - End: 7/22/2016 days = " + days360( '7/22/2020', '7/22/2016' ) );
  48. </script>
  49. </body>
  50. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement