/* * @Author: ddmt * @Date: 2024-9-29 20:50:12 * @LastEditTime: 2024-9-30 0:13:12 * @LastEditors: ddmt * @Description: ddmt-index file * @FilePath: /Tool/number.js */ //生成从minNum到maxNum的随机数 export function randomNum (minNum, maxNum) { switch (arguments.length) { case 1: return parseInt(Math.random() * minNum + 1, 10); case 2: return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10); default: return 0; } } /* * 数组循环函数 * @param {Array} arr * @param {number} index */ export function nextArray(arr, index) { index--; return arr.slice(index + 1, arr.length).concat(arr.slice(0, index + 1)); } /* * 数组去重函数 * @param {Array} arr */ export function ArrayDeHeavy(arr) { let newArr = new Set(); arr.forEach(item => { newArr.add(item); }); return Array.from(newArr); } /* * 获取相对时间(中文) * @param {Date} date */ export function getRelativeTime(date) { const now = new Date(); const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000); if (diffInSeconds < 60) { return '刚刚'; } const diffInMinutes = Math.floor(diffInSeconds / 60); if (diffInMinutes < 60) { return `${diffInMinutes}分钟前`; } const diffInHours = Math.floor(diffInMinutes / 60); if (diffInHours < 24) { return `${diffInHours}小时前`; } const diffInDays = Math.floor(diffInHours / 24); if (diffInDays < 30) { return `${diffInDays}天前`; } const diffInMonths = Math.floor(diffInDays / 30); if (diffInMonths < 12) { return `${diffInMonths}个月前`; } const diffInYears = Math.floor(diffInMonths / 12); if (diffInYears < 5) { return `${diffInYears}年前`; } return '很久以前'; }