Advertisement
Guest User

Untitled

a guest
May 8th, 2016
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. function makeFriendlyDates(arr) {
  2. var dateArr1 = arr[0].split('-');
  3. var mon1 = numberToMonth(parseInt(dateArr1[1]));
  4. var day1 = parseInt(dateArr1[2]) + getOrd(parseInt(dateArr1[2]));
  5.  
  6. var dateArr2 = arr[1].split('-');
  7. var mon2 = numberToMonth(parseInt(dateArr2[1]));
  8. var day2 = parseInt(dateArr2[2]) + getOrd(parseInt(dateArr2[2]));
  9.  
  10. var oneDay = 1000 * 60 * 60 * 24;
  11.  
  12. var firstDate = new Date(parseInt(dateArr1[0]), parseInt(dateArr1[1]), parseInt(dateArr1[2]));
  13. var lastDate = new Date(parseInt(dateArr2[0]), parseInt(dateArr2[1]), parseInt(dateArr2[2]));
  14.  
  15. var tempDate = Math.round( (lastDate.getTime() - firstDate.getTime()) / oneDay);
  16.  
  17. if (tempDate === 0) {
  18. return mon1 + " " + day1 + ", " + dateArr1[0];
  19. }
  20.  
  21. var firstDateString = mon1 + " " + day1;
  22. var lastDateString;
  23.  
  24. if (dateArr1[0] == dateArr2[0] && mon1 == mon2) {
  25. lastDateString = day2;
  26. } else {
  27. lastDateString = mon2 + " " + day2;
  28. }
  29.  
  30. if (tempDate >= 365) {
  31. lastDateString += ", " + dateArr2[0];
  32. }
  33.  
  34. if (dateArr1[0] != '2016' || tempDate >= 365) {
  35. firstDateString += ", " + dateArr1[0];
  36. }
  37.  
  38. return [firstDateString, lastDateString];
  39. }
  40.  
  41. function numberToMonth(num) {
  42. var monHash = {1:'January', 2:'February',
  43. 3:'March', 4:'April',
  44. 5:'May', 6:'June',
  45. 7:'July', 8:'August',
  46. 9:'September', 10:'October',
  47. 11:'November', 12:'December'};
  48.  
  49. return monHash[num];
  50. }
  51.  
  52. function getOrd(num) {
  53. if (num == 13 || num == 12 || num == 11) {
  54. return 'th';
  55. } else {
  56. num = num % 10;
  57. }
  58. switch(num) {
  59. case 1:
  60. return 'st';
  61. case 2:
  62. return 'nd';
  63. case 3:
  64. return 'rd';
  65. default:
  66. return 'th';
  67. }
  68. }
  69.  
  70. makeFriendlyDates(["2018-01-13", "2018-01-13"]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement