Friendly Date Ranges
by Sebastian
JavaScript
function makeFriendlyDates(arr) {
var arr = Array.from(arr);
var year1 = arr[0].slice(0, 4);
var year2 = arr[1].slice(0, 4);
var month1 = arr[0].slice(5, 7);
var month2 = arr[1].slice(5, 7);
var day1 = arr[0].slice(8, 10);
var day2 = arr[1].slice(8, 10);
var d = new Date();
var currentYear = d.getFullYear().toString();
console.log(currentYear);
var date1 = monthLit(month1) + " " + getDaySuffix(day1) + ", " + year1;
var date2 = monthLit(month2) + " " + getDaySuffix(day2) + ", " + year2;
function getDaySuffix(day) {
var dayInt = parseInt(day);
if (dayInt < 4 || dayInt > 20 && dayInt < 24 || dayInt > 30) {
if (day[1] === "1") {
return parseInt(day) + "st";
} else if (day[1] === "2") {
return parseInt(day) + "nd";
} else if (day[1] === "3") {
return parseInt(day) + "rd";
}
} else {
if (day[0] === "0") {
return day[1] + "th";
} else {
return day + "th";
}
}
} // end getDaySuffix
function monthLit(month) {
switch (month) {
case "01":
return "January";
case "02":
return "February";
case "03":
return "March";
case "04":
return "April";
case "05":
return "May";
case "06":
return "June";
case "07":
return "July";
case "08":
return "August";
case "09":
return "September";
case "10":
return "October";
case "11":
return "November";
case "12":
return "December";
}
} // end monthLit
arr[0] = date1;
arr[1] = date2;
if (date1 === date2) {
arr.pop();
console.log(arr);
return arr;
}
console.log(month1 === month2);
if (year1 === currentYear) {
if ((year2 - currentYear) <= 1) {
if (month1 === month2) {
arr[0] = monthLit(month1) + " " + getDaySuffix(day1);
arr[1] = getDaySuffix(day2);
return arr;
}
if...