mirror of
https://github.com/danbulant/Nertivia-Client
synced 2026-05-22 13:49:07 +00:00
53 lines
No EOL
1.5 KiB
JavaScript
53 lines
No EOL
1.5 KiB
JavaScript
export default (miliseconds) => {
|
|
let friendlyDate = "";
|
|
const now = new Date();
|
|
const messageDate = new Date(miliseconds);
|
|
|
|
if (sameDay(now, messageDate)) {
|
|
friendlyDate = `Today at ${getFullTime(messageDate)}`
|
|
} else if (yesterDay(now, messageDate)) {
|
|
friendlyDate = `Yesterday at ${getFullTime(messageDate)}`
|
|
} else {
|
|
friendlyDate = getFullDateWithTime(messageDate)
|
|
}
|
|
return friendlyDate;
|
|
}
|
|
|
|
function sameDay(d1, d2) {
|
|
return d1.getFullYear() === d2.getFullYear() &&
|
|
d1.getMonth() === d2.getMonth() &&
|
|
d1.getDate() === d2.getDate();
|
|
}
|
|
function yesterDay(d1, d2) {
|
|
return d1.getFullYear() === d2.getFullYear() &&
|
|
d1.getMonth() === d2.getMonth() &&
|
|
(d1.getDate() - d2.getDate()) == 1
|
|
}
|
|
|
|
function getFullTime(date){
|
|
let finalTime = ""
|
|
let hours = date.getHours();
|
|
let minutes = date.getMinutes()
|
|
|
|
if (hours <= 9) {
|
|
finalTime = `0${hours}`;
|
|
} else {
|
|
finalTime = `${hours}`
|
|
}
|
|
|
|
if (minutes <= 9) {
|
|
finalTime += `:0${minutes}`;
|
|
} else {
|
|
finalTime += `:${minutes}`
|
|
}
|
|
return finalTime;
|
|
}
|
|
|
|
function getFullDateWithTime(date) {
|
|
const days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
|
const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
const dayName = days[date.getDay()];
|
|
const monthName = months[date.getMonth()];
|
|
return `${dayName} ${date.getDate()} ${monthName} ${date.getFullYear()} at ${getFullTime(date)}`
|
|
|
|
} |