UNPKG

mstf-kit

Version:

一个现代化的 JavaScript/TypeScript 工具库,提供了丰富的常用工具函数

75 lines (74 loc) 2.39 kB
function formatDate(date, format = "YYYY-MM-DD HH:mm:ss") { const d = new Date(date); const year = d.getFullYear(); const month = String(d.getMonth() + 1).padStart(2, "0"); const day = String(d.getDate()).padStart(2, "0"); const hours = String(d.getHours()).padStart(2, "0"); const minutes = String(d.getMinutes()).padStart(2, "0"); const seconds = String(d.getSeconds()).padStart(2, "0"); return format.replace("YYYY", String(year)).replace("MM", month).replace("DD", day).replace("HH", hours).replace("mm", minutes).replace("ss", seconds); } function getRelativeTime(date, now = /* @__PURE__ */ new Date()) { const d = new Date(date); const diff = now.getTime() - d.getTime(); const seconds = Math.floor(diff / 1e3); const minutes = Math.floor(seconds / 60); const hours = Math.floor(minutes / 60); const days = Math.floor(hours / 24); const months = Math.floor(days / 30); const years = Math.floor(months / 12); if (years > 0) return `${years}年前`; if (months > 0) return `${months}个月前`; if (days > 0) return `${days}天前`; if (hours > 0) return `${hours}小时前`; if (minutes > 0) return `${minutes}分钟前`; if (seconds > 0) return `${seconds}秒前`; return "刚刚"; } function getDateRange(start, end) { const dates = []; const startDate = new Date(start); const endDate = new Date(end); let currentDate = startDate; while (currentDate <= endDate) { dates.push(new Date(currentDate)); currentDate.setDate(currentDate.getDate() + 1); } return dates; } function addTime(date, amount, unit) { const d = new Date(date); switch (unit) { case "years": d.setFullYear(d.getFullYear() + amount); break; case "months": d.setMonth(d.getMonth() + amount); break; case "days": d.setDate(d.getDate() + amount); break; case "hours": d.setHours(d.getHours() + amount); break; case "minutes": d.setMinutes(d.getMinutes() + amount); break; case "seconds": d.setSeconds(d.getSeconds() + amount); break; } return d; } function isSameDay(date1, date2) { const d1 = new Date(date1); const d2 = new Date(date2); return d1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth() && d1.getDate() === d2.getDate(); } export { addTime, formatDate, getDateRange, getRelativeTime, isSameDay };