UNPKG

gaga-js-utils

Version:

js tools

80 lines (78 loc) 2.46 kB
// 格式化日期 dateFormat("YYYY-mm-dd HH:MM:SS", date) exports.dateFormat = (fmt, timeStamp) => { let ret; const date = new Date(timeStamp); const opt = { "Y+": date.getFullYear().toString(), // 年 "m+": (date.getMonth() + 1).toString(), // 月 "d+": date.getDate().toString(), // 日 "H+": date.getHours().toString(), // 时 "M+": date.getMinutes().toString(), // 分 "S+": date.getSeconds().toString(), // 秒 // 有其他格式化字符需求可以继续添加,必须转化成字符串 }; let k; for (k in opt) { ret = new RegExp("(" + k + ")").exec(fmt); if (ret) { fmt = fmt.replace( ret[1], ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, "0") ); } } return fmt; }; // 刚刚、几天前、几个月前、几年前 exports.beforeDateFormat = function(current) { if (!current) { return; } //将字符串转换成时间格式 let timePublish = new Date(current); let timeNow = new Date(); let minute = 1000 * 60; let hour = minute * 60; let day = hour * 24; let month = day * 30; let year = month * 12; let diffValue = timeNow - timePublish; let diffMonth = diffValue / month; let diffWeek = diffValue / (7 * day); let diffDay = diffValue / day; let diffHour = diffValue / hour; let diffMinute = diffValue / minute; let diffYear = diffValue / year; if (diffValue < 0) { result = "刚刚"; } else if (diffYear > 1) { result = parseInt(diffYear) + "年前"; } else if (diffMonth > 1) { result = parseInt(diffMonth) + "月前"; } else if (diffWeek > 1) { result = parseInt(diffWeek) + "周前"; } else if (diffDay > 1) { result = parseInt(diffDay) + "天前"; } else if (diffHour > 1) { result = parseInt(diffHour) + "小时前"; } else if (diffMinute > 1) { result = parseInt(diffMinute) + "分钟前"; } else { result = "刚刚发表"; } return result; }; // 星期几 exports.getWeek = (current) => { const week = (current ? new Date(current) : new Date()).getDay(); const map = { 0: '星期日', 1: '星期一', 2: '星期二', 3: '星期三', 4: '星期四', 5: '星期五', 6: '星期六' } return map[week]; }