UNPKG

project-libs

Version:

project-libs 是一个常用函数集锦的工具库,包括浏览器、函数式、常用验证、cookie、数组处理等函数。

70 lines (69 loc) 2.72 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = timeBeauty; var type_1 = __importDefault(require("../type/type")); /** * 时间美化函数 * @param timestamp {string | number} 字符串或者数字 * @returns {string} 返回字符串 * @summary 规则:时间戳与当前时间进行比较 * ``` * 小于1分钟,显示 x分钟前 * 小于1天,显示 x小时前 * 大于1天,小于2天,显示昨天x(小时):x(分钟) * 大于2天,小于28天,显示x天前 * 否则,显示年-月-日 * ``` */ function timeBeauty(timestamp) { if (!timestamp) { console.error("project-libs(timeBeauty方法参数错误):参数为必填项"); return; } if (timestamp && !((0, type_1.default)(timestamp) === "string" || (0, type_1.default)(timestamp) === "number")) { console.error("project-libs(timeBeauty方法参数错误):参数为 string | number"); return; } var time = Number(timestamp); var now = new Date(); var date = new Date(time); var diffTime = now.getTime() - time; var minute = 60 * 1000; // 1分钟 var hour = 60 * 60 * 1000; // 1小时 var day = 24 * 60 * 60 * 1000; // 1天 var diffHour = Math.floor(diffTime / hour); var diffMinute = Math.floor(diffTime / minute); var diffDay = Math.floor(diffTime / day); var result = ""; if (diffTime > 0) { if (diffTime <= minute) { result = "刚刚"; } else if (diffTime > minute && diffTime <= hour) { result = "".concat(diffMinute, "\u5206\u949F\u524D"); } else if (diffTime > hour && diffTime <= day) { result = "".concat(diffHour, "\u5C0F\u65F6\u524D"); } else if (diffTime > day && diffTime <= day * 2) { result = "\u6628\u5929".concat(date.getHours() < 10 ? "0".concat(date.getHours()) : date.getHours(), ":").concat(date.getMinutes() < 10 ? "0".concat(date.getMinutes()) : date.getMinutes()); } else if (diffTime > day * 2 && diffTime <= day * 28) { return "".concat(diffDay, "\u5929\u524D"); } else if (diffTime > day * 28) { result = fullTime(date); } } else { result = fullTime(date); } return result; } function fullTime(date) { return "".concat(date.getFullYear(), "-").concat(date.getMonth() + 1 < 10 ? "0".concat(date.getMonth() + 1) : date.getMonth() + 1, "-").concat(date.getDate() < 10 ? "0".concat(date.getDate()) : date.getDate()); }