let weekArray = new Array("日", "一", "二", "三", "四", "五", "六").map(x=>`星期${x}`); //格式化日期 const formatDate = (date = new Date()) => { const formatNumber = n => { n = n.toString() return n[1] ? n : '0' + n } const year = date.getFullYear() const month = date.getMonth() + 1 const day = date.getDate() return [year, month, day].map(formatNumber).join('-') } function formatTime(time) { if (typeof time !== 'number' || time < 0) { return time } const hour = parseInt(time / 3600, 10) time %= 3600 const minute = parseInt(time / 60, 10) time = parseInt(time % 60, 10) const second = time return ([hour, minute, second]).map(function (n) { n = n.toString() return n[1] ? n : '0' + n }).join(':') } function formatDateTime(date, withMs = false) { function formatLeadingZeroNumber(n, digitNum = 2) { n = n.toString() const needNum = Math.max(digitNum - n.length, 0) return new Array(needNum).fill(0).join('') + n } const year = date.getFullYear() const month = date.getMonth() + 1 const day = date.getDate() const hour = date.getHours() const minute = date.getMinutes() const second = date.getSeconds() const ms = date.getMilliseconds() let ret = [year, month, day].map(value => formatLeadingZeroNumber(value, 2)).join('-') + ' ' + [hour, minute, second].map(value => formatLeadingZeroNumber(value, 2)).join(':') if (withMs) { ret += '.' + formatLeadingZeroNumber(ms, 3) } return ret } function dateLaters(days, todate= new Date()) { var dateArry = []; for (var i = 0; i < days; i++) { var dateObj = dateLater(todate, i); dateArry.push(dateObj) } return dateArry; } function dateLater(dates, later=0) { let date = new Date(dates); date.setDate(date.getDate() + later); let day = date.getDay(); let yearDate = date.getFullYear(); let month = ((date.getMonth() + 1) < 10 ? ("0" + (date.getMonth() + 1)) : date.getMonth() + 1); let dayFormate = (date.getDate() < 10 ? ("0" + date.getDate()) : date.getDate()); return [yearDate + '-' + month + '-' + dayFormate, weekArray[day]]; } function formatLocation(longitude, latitude) { if (typeof longitude === 'string' && typeof latitude === 'string') { longitude = parseFloat(longitude) latitude = parseFloat(latitude) } longitude = longitude.toFixed(2) latitude = latitude.toFixed(2) return { longitude: longitude.toString().split('.'), latitude: latitude.toString().split('.') } } function getDateStr(today, addDayCount){ var dd; if (today) { dd = new Date(today); } else { dd = new Date(); } dd.setDate(dd.getDate() + addDayCount);//获取AddDayCount天后的日期 var y = dd.getFullYear(); var m = dd.getMonth() + 1;//获取当前月份的日期 var d = dd.getDate(); if (m < 10) { m = '0' + m; }; if (d < 10) { d = '0' + d; }; return y + "-" + m + "-" + d; } module.exports = { formatDate, formatTime, formatDateTime, dateLaters, dateLater, formatLocation, getDateStr }