UNPKG

wft-utils

Version:

The commonly used tool functions in daily development

255 lines (242 loc) 7.74 kB
/** * 获取 num 天前日期 * @param {*} num * @returns */ export function getDate(num) { var date1 = new Date(); var date2 = new Date(date1); date2.setDate(date1.getDate() + num); //num是正数表示之后的时间,num负数表示之前的时间,0表示今天 var time2 = addZero(date2.getFullYear()) + "-" + addZero((date2.getMonth() + 1)) + "-" + addZero(date2.getDate()); return time2; } function addZero(num) {//补0方法 if (parseInt(num) < 10) { num = '0' + num; } return num; } /** * 获取当前月份第一天 * @returns */ export function getCurrentMonthFirst() { var date = new Date(); date.setDate(1); var month = parseInt(date.getMonth() + 1); var day = date.getDate(); if (month < 10) { month = '0' + month } if (day < 10) { day = '0' + day } return date.getFullYear() + '-' + month + '-' + day; } /** * 获取当前月份最后一天 * @returns */ export function getCurrentMonthLast() { var date = new Date(); var currentMonth = date.getMonth(); var nextMonth = ++currentMonth; var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1); var oneDay = 1000 * 60 * 60 * 24; var lastTime = new Date(nextMonthFirstDay - oneDay); var month = parseInt(lastTime.getMonth() + 1); var day = lastTime.getDate(); if (month < 10) { month = '0' + month } if (day < 10) { day = '0' + day } return date.getFullYear() + '-' + month + '-' + day; } /** * 获取当前周的第一天和最后一天 * @returns */ export function getCurrWeek() { var d = new Date(); //获取周一 var beginWhereTheTime = GetMondayAndSunday(d); var dd = new Date(beginWhereTheTime); //获取周天 dd.setDate(dd.getDate() + 6); var monthSunday = parseInt(dd.getMonth()) + 1; var endWhereTheTime = dd.getFullYear() + "-" + formatDate(monthSunday) + "-" + formatDate(dd.getDate()); return { Monday: beginWhereTheTime, Sunday: endWhereTheTime } } //获取指定日期所在周周一 function GetMondayAndSunday(dd) { var week = dd.getDay(); //获取时间的星期数 var minus = week ? week - 1 : 6; dd.setDate(dd.getDate() - minus); //获取minus天前的日期 var y = dd.getFullYear(); var m = dd.getMonth() + 1; //获取月份 var d = dd.getDate(); return y + "-" + formatDate(m) + "-" + formatDate(d); } //格式化月和日为MM、dd function formatDate(value) { if (value < 10) { value = "0" + value; } return value; } /** * 获取某天日期(yyyy-MM-dd)为周几 * @param {*} date * @returns */ export function getWeek(date) { var weekArray = new Array("周日", "周一", "周二", "周三", "周四", "周五", "周六"); var week = weekArray[new Date(date).getDay()]; return week; } /** * 获取当前时间 * @returns */ export function getCurrTime() { return { currTime: new Date().toLocaleTimeString('chinese', { hour12: false }), currTimeStamp: new Date().getTime() } } /** * 标准时间转为时间戳 * @param {*} dateTime * @returns */ export function dateTimeToStamp(dateTime) { return Date.parse(new Date(dateTime)) } /** * 时间戳转为标准时间 * @param {*} timeStamp * @returns */ export function timeStampTodateTime(timeStamp) { //timeStamp:毫秒格式,即13位 如果是秒就 *1000 let s = new Date(timeStamp) let y = s.getFullYear() let m = (s.getMonth() + 1) < 10 ? '0' + (s.getMonth() + 1) : (s.getMonth() + 1) let dd = s.getDate() < 10 ? '0' + s.getDate() : s.getDate() let hh = s.getHours() < 10 ? '0' + s.getHours() : s.getHours() let mm = s.getMinutes() < 10 ? '0' + s.getMinutes() : s.getMinutes() let ss = s.getSeconds() < 10 ? '0' + s.getSeconds() : s.getSeconds() let enddate = y + '-' + m + '-' + dd + ' ' + hh + ':' + mm + ":" + ss return enddate } /** * 将Tue Mar 08 2022 16:43:57 GMT+0800 (中国标准时间)转为标准时间格式(yyyy-MM-dd HH:mm:ss) * @param {*} value * @returns */ export function dateFormat(value) { var date = new Date(value); var YY = date.getFullYear() + '-'; var MM = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; var DD = date.getDate() < 10 ? '0' + date.getDate() : date.getDate(); var hh = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; var mm = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'; var ss = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds(); return YY + MM + DD + ' ' + hh + mm + ss; } /** * 获取num月前的某天 * @param {*} num * @param {*} day * @returns */ export function getMonthDate(num = 0, day = '01') { if(Number(day) < 10) day = '0' + Number(day) let targetDate = new Date() targetDate.setMonth(targetDate.getMonth() + num) let [ date, time ] = dateFormat(targetDate).split(' ') return date.split('-').slice(0, 2).join('-') + '-' + day } /** * 秒数 转为 xx时xx分xx秒 * @param {string | number} value * @returns */ export function formatSecondsToHour(value) { let theTime = parseInt(value);// 秒 let middle = 0;// 分 let hour = 0;// 小时 if (theTime > 60) { middle = parseInt(theTime / 60); theTime = parseInt(theTime % 60); if (middle > 60) { hour = parseInt(middle / 60); middle = parseInt(middle % 60); } } let secondTime = parseInt(theTime) >= 10 ? parseInt(theTime) : '0' + parseInt(theTime) let result = "" + secondTime + "秒"; if (middle > 0) { let minuteTime = parseInt(middle) >= 10 ? parseInt(middle) : '0' + parseInt(middle) result = "" + minuteTime + "分" + result; } if (hour > 0) { result = "" + parseInt(hour) + "小时" + result; } return result; } /** * 秒数 转为 xx天xx时xx分xx秒 * @param {string | number} value * @returns */ export function formatSecondsToDay(value) { let secondTime = parseInt(value) // 秒 let minuteTime = 0 // 分 let hourTime = 0 // 小时 let dayTime = 0 // 天 let result = '' if (value < 60) { result = secondTime + '秒' } else { if (secondTime >= 60) { // 如果秒数大于60,将秒数转换成整数 // 获取分钟,除以60取整数,得到整数分钟 minuteTime = parseInt(secondTime / 60) // 获取秒数,秒数取佘,得到整数秒数 secondTime = parseInt(secondTime % 60) // 如果分钟大于60,将分钟转换成小时 if (minuteTime >= 60) { // 获取小时,获取分钟除以60,得到整数小时 hourTime = parseInt(minuteTime / 60) // 获取小时后取佘的分,获取分钟除以60取佘的分 minuteTime = parseInt(minuteTime % 60) if (hourTime >= 24) { // 获取天数, 获取小时除以24,得到整数天 dayTime = parseInt(hourTime / 24) // 获取小时后取余小时,获取分钟除以24取余的分; hourTime = parseInt(hourTime % 24) } } } if (secondTime > 0) { secondTime = parseInt(secondTime) >= 10 ? secondTime : '0' + secondTime result = '' + secondTime + '秒' } if (minuteTime > 0) { minuteTime = parseInt(minuteTime) >= 10 ? minuteTime : '0' + minuteTime result = '' + minuteTime + '分' + result } if (hourTime > 0) { result = '' + parseInt(hourTime) + '小时' + result } if (dayTime > 0) { result = '' + parseInt(dayTime) + '天' + result } } return result }