UNPKG

ngx-pretty-date

Version:

Angular js pipe for facebook, twitter like date time format, supports angular 8

63 lines 9.6 kB
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==