Skip to content

Instantly share code, notes, and snippets.

@KyrosDigital
Last active January 12, 2019 05:21
Show Gist options
  • Save KyrosDigital/deadbf89e611cb9d9b03234520992e37 to your computer and use it in GitHub Desktop.
Save KyrosDigital/deadbf89e611cb9d9b03234520992e37 to your computer and use it in GitHub Desktop.
Kyros Moment, takes valid date object input, and returns pretty and nice formatted time and date data
export const kyrosMoment = (input) => {
let date = new Date(input);
const months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
const days = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
const dd = date.getDate();
const dayName = days[date.getDay()];
const mm = date.getMonth();
const month = months[mm];
const yyyy = date.getFullYear();
const hours = date.getHours();
const minutes = date.getMinutes();
const seconds = date.getSeconds();
let ampm = hours >= 12 ? 'pm' : 'am';
let hourshr = hours % 12;
hourshr = hourshr ? hourshr : 12; // the hour '0' should be '12'
let minuteshr = minutes < 10 ? '0'+minutes : minutes;
return {
jsDateObj: date, // 2018-12-27T19:35:08.866Z - raw Date() object
dateStr: date.toDateString(), // Thu Dec 27 2018
isoStr: date.toISOString(), // Thu, 27 Dec 2018 19:23:22 GMT
locale: date.toLocaleString(), // 12/27/2018, 2:23:22 PM
mileSec: date.getTime(), // 1545939308866
parts: {
numeric: {
year: yyyy, // 2019
month: mm, // 0 = January
day: dd, // 27
hour: hours, // 14
minutes: minutes, // 59
seconds: seconds, // 59
},
humanReadable: {
year: yyyy, // 2019
month: month, // December
day: dd, // 27
hour: hourshr, // 12 -> 12
minutes: minuteshr, // 08
ampm: ampm // am , pm
}
},
pretty: {
date: {
dash: {
monthddyy: month + '/' + dd + '/' + yyyy, // December/21/2019
},
slash: {
ddmmyyy: date.toLocaleDateString(), // 2018-12-27
},
comma: {
monthddyyyy: month + " " + dd + ", " + yyyy, // December 27, 2019
ddmonthyyy: dd + " " + month + ", " + yyyy, // 27 December, 2019
},
day: dayName,
},
time: {
hhmmss: date.toLocaleTimeString(), // 2:23:22 PM
standard: hourshr + ":" + minuteshr + " " + ampm // 2:23 pm
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment