ngx-pretty-date
Version:
Angular js pipe for facebook, twitter like date time format, supports angular 8
63 lines • 9.6 kB
JavaScript
import { Pipe } from '@angular/core';
import * as i0 from "@angular/core";
class PrettyDate {
transform(time, dateFormat) {
var date;
if (time instanceof Date) {
date = time;
}
else {
var temp = (time || "").replace(/-/g, "/").replace(/[T]/g, " ").split(" ");
var time = temp[1] ? temp[1] : '';
var dateTemp = temp[0];
if (dateFormat != undefined) {
dateTemp = dateTemp.split('/');
switch (dateFormat) {
case 'dd/mm/yyyy':
dateTemp = dateTemp[2] + '/' + dateTemp[1] + '/' + dateTemp[0] + ' ' + time;
break;
case 'mm/dd/yyyy':
dateTemp = dateTemp[2] + '/' + dateTemp[0] + '/' + dateTemp[1] + ' ' + time;
break;
case 'yyyy/mm/dd':
dateTemp = dateTemp[0] + '/' + dateTemp[1] + '/' + dateTemp[2] + ' ' + time;
break;
case 'yyyy/dd/mm':
dateTemp = dateTemp[0] + '/' + dateTemp[2] + '/' + dateTemp[1] + ' ' + time;
break;
default:
break;
}
}
date = new Date(dateTemp);
}
try {
var diff = (((new Date()).getTime() - date.getTime()) / 1000);
var day_diff = Math.floor(diff / 86400);
}
catch (e) {
return "Invalid Date";
}
if (isNaN(day_diff) || day_diff < 0)
return "Invalid Date";
return day_diff == 0 && (diff < 60 && "just now" ||
diff < 120 && "1 minute ago" ||
diff < 3600 && Math.floor(diff / 60) + " minutes ago" ||
diff < 7200 && "1 hour ago" ||
diff < 86400 && Math.floor(diff / 3600) + " hours ago") ||
day_diff == 1 && "Yesterday" ||
day_diff < 7 && day_diff + " days ago" ||
day_diff == 7 && "1 week ago" ||
day_diff < 31 && Math.ceil(day_diff / 7) + " weeks ago" ||
day_diff < 365 && Math.ceil(day_diff / 30) + " months ago" ||
day_diff >= 365 && " more than a year ago";
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: PrettyDate, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.3", ngImport: i0, type: PrettyDate, name: "prettyDate" }); }
}
export { PrettyDate };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: PrettyDate, decorators: [{
type: Pipe,
args: [{ name: 'prettyDate' }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByZXR0eS1kYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcHJldHR5LWRhdGUvc3JjL2xpYi9uZ3gtcHJldHR5LWRhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFFcEQsTUFDYSxVQUFVO0lBQ25CLFNBQVMsQ0FBQyxJQUFTLEVBQUUsVUFBZTtRQUNoQyxJQUFJLElBQUksQ0FBQztRQUVULElBQUksSUFBSSxZQUFZLElBQUksRUFBRTtZQUN0QixJQUFJLEdBQUcsSUFBSSxDQUFDO1NBQ2Y7YUFBTTtZQUNILElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0UsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsSUFBSSxVQUFVLElBQUksU0FBUyxFQUFFO2dCQUN6QixRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDL0IsUUFBUSxVQUFVLEVBQUU7b0JBQ2hCLEtBQUssWUFBWTt3QkFDYixRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO3dCQUM1RSxNQUFNO29CQUNWLEtBQUssWUFBWTt3QkFDYixRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO3dCQUM1RSxNQUFNO29CQUNWLEtBQUssWUFBWTt3QkFDYixRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO3dCQUM1RSxNQUFNO29CQUNWLEtBQUssWUFBWTt3QkFDYixRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO3dCQUM1RSxNQUFNO29CQUNWO3dCQUNJLE1BQU07aUJBQ2I7YUFDSjtZQUNELElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM3QjtRQUVELElBQUk7WUFDQSxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDOUQsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUM7U0FDM0M7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE9BQU8sY0FBYyxDQUFDO1NBQ3pCO1FBRUQsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxHQUFHLENBQUM7WUFDL0IsT0FBTyxjQUFjLENBQUM7UUFFMUIsT0FBTyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQ3BCLElBQUksR0FBRyxFQUFFLElBQUksVUFBVTtZQUN2QixJQUFJLEdBQUcsR0FBRyxJQUFJLGNBQWM7WUFDNUIsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsR0FBRyxjQUFjO1lBQ3JELElBQUksR0FBRyxJQUFJLElBQUksWUFBWTtZQUMzQixJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQztZQUN2RCxRQUFRLElBQUksQ0FBQyxJQUFJLFdBQVc7WUFDNUIsUUFBUSxHQUFHLENBQUMsSUFBSSxRQUFRLEdBQUcsV0FBVztZQUN0QyxRQUFRLElBQUksQ0FBQyxJQUFJLFlBQVk7WUFDN0IsUUFBUSxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxZQUFZO1lBQ3ZELFFBQVEsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLEdBQUcsYUFBYTtZQUMxRCxRQUFRLElBQUksR0FBRyxJQUFJLHVCQUF1QixDQUFDO0lBQ25ELENBQUM7OEdBdERRLFVBQVU7NEdBQVYsVUFBVTs7U0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBRHRCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoeyBuYW1lOiAncHJldHR5RGF0ZScgfSlcclxuZXhwb3J0IGNsYXNzIFByZXR0eURhdGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh0aW1lOiBhbnksIGRhdGVGb3JtYXQ6IGFueSk6IGFueSB7XHJcbiAgICAgICAgdmFyIGRhdGU7XHJcblxyXG4gICAgICAgIGlmICh0aW1lIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgICAgICBkYXRlID0gdGltZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB2YXIgdGVtcCA9ICh0aW1lIHx8IFwiXCIpLnJlcGxhY2UoLy0vZywgXCIvXCIpLnJlcGxhY2UoL1tUXS9nLCBcIiBcIikuc3BsaXQoXCIgXCIpO1xyXG4gICAgICAgICAgICB2YXIgdGltZSA9IHRlbXBbMV0gPyB0ZW1wWzFdIDogJyc7XHJcbiAgICAgICAgICAgIHZhciBkYXRlVGVtcCA9IHRlbXBbMF07XHJcbiAgICAgICAgICAgIGlmIChkYXRlRm9ybWF0ICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgZGF0ZVRlbXAgPSBkYXRlVGVtcC5zcGxpdCgnLycpO1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChkYXRlRm9ybWF0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZGQvbW0veXl5eSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVUZW1wID0gZGF0ZVRlbXBbMl0gKyAnLycgKyBkYXRlVGVtcFsxXSArICcvJyArIGRhdGVUZW1wWzBdICsgJyAnICsgdGltZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnbW0vZGQveXl5eSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVUZW1wID0gZGF0ZVRlbXBbMl0gKyAnLycgKyBkYXRlVGVtcFswXSArICcvJyArIGRhdGVUZW1wWzFdICsgJyAnICsgdGltZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAneXl5eS9tbS9kZCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVUZW1wID0gZGF0ZVRlbXBbMF0gKyAnLycgKyBkYXRlVGVtcFsxXSArICcvJyArIGRhdGVUZW1wWzJdICsgJyAnICsgdGltZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAneXl5eS9kZC9tbSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVUZW1wID0gZGF0ZVRlbXBbMF0gKyAnLycgKyBkYXRlVGVtcFsyXSArICcvJyArIGRhdGVUZW1wWzFdICsgJyAnICsgdGltZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGVUZW1wKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHZhciBkaWZmID0gKCgobmV3IERhdGUoKSkuZ2V0VGltZSgpIC0gZGF0ZS5nZXRUaW1lKCkpIC8gMTAwMCk7XHJcbiAgICAgICAgICAgIHZhciBkYXlfZGlmZiA9IE1hdGguZmxvb3IoZGlmZiAvIDg2NDAwKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBcIkludmFsaWQgRGF0ZVwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGlzTmFOKGRheV9kaWZmKSB8fCBkYXlfZGlmZiA8IDApXHJcbiAgICAgICAgICAgIHJldHVybiBcIkludmFsaWQgRGF0ZVwiO1xyXG5cclxuICAgICAgICByZXR1cm4gZGF5X2RpZmYgPT0gMCAmJiAoXHJcbiAgICAgICAgICAgIGRpZmYgPCA2MCAmJiBcImp1c3Qgbm93XCIgfHxcclxuICAgICAgICAgICAgZGlmZiA8IDEyMCAmJiBcIjEgbWludXRlIGFnb1wiIHx8XHJcbiAgICAgICAgICAgIGRpZmYgPCAzNjAwICYmIE1hdGguZmxvb3IoZGlmZiAvIDYwKSArIFwiIG1pbnV0ZXMgYWdvXCIgfHxcclxuICAgICAgICAgICAgZGlmZiA8IDcyMDAgJiYgXCIxIGhvdXIgYWdvXCIgfHxcclxuICAgICAgICAgICAgZGlmZiA8IDg2NDAwICYmIE1hdGguZmxvb3IoZGlmZiAvIDM2MDApICsgXCIgaG91cnMgYWdvXCIpIHx8XHJcbiAgICAgICAgICAgIGRheV9kaWZmID09IDEgJiYgXCJZZXN0ZXJkYXlcIiB8fFxyXG4gICAgICAgICAgICBkYXlfZGlmZiA8IDcgJiYgZGF5X2RpZmYgKyBcIiBkYXlzIGFnb1wiIHx8XHJcbiAgICAgICAgICAgIGRheV9kaWZmID09IDcgJiYgXCIxIHdlZWsgYWdvXCIgfHxcclxuICAgICAgICAgICAgZGF5X2RpZmYgPCAzMSAmJiBNYXRoLmNlaWwoZGF5X2RpZmYgLyA3KSArIFwiIHdlZWtzIGFnb1wiIHx8XHJcbiAgICAgICAgICAgIGRheV9kaWZmIDwgMzY1ICYmIE1hdGguY2VpbChkYXlfZGlmZiAvIDMwKSArIFwiIG1vbnRocyBhZ29cIiB8fFxyXG4gICAgICAgICAgICBkYXlfZGlmZiA+PSAzNjUgJiYgXCIgbW9yZSB0aGFuIGEgeWVhciBhZ29cIjtcclxuICAgIH1cclxufSJdfQ==