js 时间自定义格式获取
class date { time = 0; constructor(...date) { //由于js中月份是从0开始,所以如果有月份先减一 if (date[1]) { date[1]-- } this.time = date[0] ? Date.parse(...date) : new Date().getTime(); } /** * 获取相隔x天的时间 */ diff(day = 0) { this.time = this.time + (day * 60 * 60 * 24 * 1000) return this } /** * 获取xx天前、xx月前这种格式 */ getDiffFormat() { var minute = 1000 * 60; var hour = minute * 60; var day = hour * 24; var month = day * 30; var year = day * 365; var now = new Date().getTime(); var diffValue = now - this.time; var result; if (diffValue < 0) { return; } var yearC = diffValue / year; var monthC = diffValue / month; var weekC = diffValue / (7 * day); var dayC = diffValue / day; var hourC = diffValue / hour; var minC = diffValue / minute; if (yearC >= 1) { result = "" + parseInt(yearC) + "年前"; } else if (monthC >= 1) { result = "" + parseInt(monthC) + "月前"; } else if (weekC >= 1) { result = "" + parseInt(weekC) + "周前"; } else if (dayC >= 1) { result = "" + parseInt(dayC) + "天前"; } else if (hourC >= 1) { result = "" + parseInt(hourC) + "小时前"; } else if (minC >= 1) { result = "" + parseInt(minC) + "分钟前"; } else result = "刚刚"; return result; } /** * 获取自定义时间格式 * @param {String} format 时间格式 */ get(format = "yyyy-M-d h:i:s") { let date = new Date(this.time); var weeks = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]; var minute = date.getMinutes(), second = date.getSeconds(), month = date.getMonth() + 1, day = date.getDate(); minute < 10 && (minute = "0" + minute.toString()); second < 10 && (second = "0" + second.toString()); month < 10 && (month = "0" + month.toString()); day < 10 && (day = "0" + day.toString()); var formatList = { "y+": date.getFullYear(), //年份 "M+": month, //月份 "m+": month, "d+": day, //日 "w+": weeks[date.getDay()], //星期 "h+": date.getHours(), //小时 "i+": minute, //分 "s+": second, //秒 "q+": Math.floor((date.getMonth() + 3) / 3), //季度 "S": date.getMilliseconds(), //毫秒 "timestamp": date.getTime() //时间戳 }; for (var item in formatList) { if (new RegExp("(" + item + ")").test(format)) { format = format.replace(RegExp.$1, formatList[item]); } } return format; } }
使用方式:
console.log(new date().get("yyyy-M-d h:i:s")) //2020-12-25 22:11:33console.log(“获取两天后的时间:” + new date().diff(2).get()) //获取两天后的时间:2020-12-27 22:11:33
console.log(“获取两天前的时间:” + new date().diff(-2).get()) //获取两天前的时间:2020-12-23 22:11:33
console.log(new date(“2020-12-23 22:11:33”).get()) //两天前
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 孤鸿渺影博客!