/** * 时间前后向前推算时间集合 * @param {string:before|after} timebd:获取时间往后推,还是往前推, * @param {boole} haveCurrentDay:包不包含当天时间, * @param {number} Days:计算几天的时间, * @param {string:"2023-11-02"} timing:指定不指定当天的日期 * @returns {array}数据集合 */ export const nextDay = (timebd, haveCurrentDay, Days, timing) => { let today = new Date() //获取今天的日期 if (timing) { today = new Date(timing) } let date2 = new Date(today); let dateArray = [] timebd=timebd ? timebd:"after" haveCurrentDay=haveCurrentDay ? true:false Days=Days ? Days:7 function TimestampToDate2(Timestamp) {   let now = new Date(Timestamp),   y = now.getFullYear(),   m = now.getMonth() + 1,   d = now.getDate();   return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d); } let fori=haveCurrentDay ? 0:1; let fortotal=haveCurrentDay ? Days:Days+1; for(let i = fori; i < fortotal; i++){ let everyDay="" if (timebd=="after") {//未来 everyDay=date2.setDate(today.getDate() + i) }else{//过去 everyDay=date2.setDate(today.getDate() - i) } dateArray.push(TimestampToDate2(everyDay)) //获取未来7天内的日期 } if (timebd=="after") {//未来 return dateArray }else{//过去 return dateArray.reverse() } } /** * 返回两个日期之前的天数 */ export const getDateByDays = (startDate, endDdate) => { let d1 = Date.parse(new Date(startDate)); let d2 = Date.parse(new Date(endDdate)); // 时间戳相减 / 天数 let day = parseInt((d2 - d1) / (1000 * 60 * 60 * 24)); return day } // 获取多少天后的日期 export const getDaysAfterDate = (date, days) => { if (days === 0) { return '2099-01-01' } const now = new Date(date); now.setDate(now.getDate() + days); const year = now.getFullYear(); const month = now.getMonth() + 1; // 月份是从0开始的 const day = now.getDate(); return `${year}-${month.toString().padStart(2, '0')}-${day.toString().padStart(2, '0')}`; } // meeting /** * 获取当天日期 **/ export const getDay = () => { let date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); month = (month > 9) ? month : ("0" + month); day = (day < 10) ? ("0" + day) : day; let week = '星期' + '日一二三四五六'.charAt(new Date().getDay()) var today = year + "年" + month + "月" + day + "日" + " " + week; return { today, date: year + "-" + month + "-" + day, day }; } /** * 获取上一天日期 **/ export const getPreviousDay = (number, val) => { let num = (24*60*60*1000) * number; let date = '' if (val) { date = new Date(new Date(val).getTime() - num); } else { date = new Date(new Date().getTime() - num); } var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); month = (month > 9) ? month : ("0" + month); day = (day < 10) ? ("0" + day) : day; let week = '星期' + '日一二三四五六'.charAt(date.getDay()) var today = year + "年" + month + "月" + day + "日" + " " + week; return { today, date: year + "-" + month + "-" + day }; } // 格式化日对象 export const getNowDate = () => { var date = new Date(); var sign2 = ":"; var year = date.getFullYear() // 年 var month = date.getMonth() + 1; // 月 var day = date.getDate(); // 日 var hour = date.getHours(); // 时 var minutes = date.getMinutes(); // 分 var seconds = date.getSeconds() //秒 var weekArr = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天']; var week = weekArr[date.getDay()]; // 给一位数的数据前面加 “0” if (month >= 1 && month <= 9) { month = "0" + month; } if (day >= 0 && day <= 9) { day = "0" + day; } if (hour >= 0 && hour <= 9) { hour = "0" + hour; } if (minutes >= 0 && minutes <= 9) { minutes = "0" + minutes; } if (seconds >= 0 && seconds <= 9) { seconds = "0" + seconds; } return year + "-" + month + "-" + day + " " + hour + sign2 + minutes + sign2 + seconds; } //必须为字母加数字且长度不小于8位 export const CheckPassWord = (password) => { var str = password; if (str == null || str.length <8) { return false; } var reg1 = new RegExp(/^[0-9A-Za-z]+$/); if (!reg1.test(str)) { return false; } var reg = new RegExp(/[A-Za-z].*[0-9]|[0-9].*[A-Za-z]/); if (reg.test(str)) { return true; } else { return false; } }