You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ngcp-csc-ui/src/filters/date.js

49 lines
1.3 KiB

import { isYesterday, isToday, isWithinLastWeek } from '../helpers/date-helper'
import moment from 'moment'
import { date } from 'quasar-framework'
const { formatDate } = date;
export default function(value) {
var timeStamp = new Date(value);
return `${formatDate(timeStamp, 'MMMM D, YYYY')} at ${formatDate(timeStamp, 'h:mm a')}`;
}
export function smartTime($date, $today) {
let today = $today || new Date();
let date = new Date($date);
let diffSeconds = Math.floor((today.getTime() - date.getTime()) / 1000);
let diffMinutes = Math.floor(diffSeconds / 60);
let momentDate = moment(date);
let seconds = 'second';
if(diffSeconds > 1) {
seconds = seconds + "s";
}
let minutes = 'minute';
if(diffSeconds > 120) {
minutes = minutes + "s";
}
if(diffSeconds < 60) {
return diffSeconds + ' ' + seconds + ' ago';
}
else if (diffSeconds < 3600) {
return diffMinutes + ' ' + minutes + ' ago';
}
else if(isToday(date)) {
return 'Today, ' + momentDate.format('HH:mm');
}
else if (isYesterday(date)) {
return 'Yesterday, ' + momentDate.format('HH:mm');
}
else if (isWithinLastWeek(date)) {
return momentDate.format('dddd, HH:mm');
}
else {
return momentDate.format('LLL');
}
}