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; } function httpRequest(url, data = {}, method = "GET") { let contentType if (method == 'GET' || method == 'get') { contentType = 'application/json;charset=UTF-8' } else if (method == 'POST' || method == 'post') { contentType = 'application/x-www-form-urlencoded' } return new Promise(function(resolve, reject) { wx.request({ url: url, data: data, method: method, header: { 'Content-Type': contentType, }, success: function(res) { console.log(res); if (res.data.errmsg == "success" || res.data.errmsg == '成功' || res.data.errmsg == null) { resolve(res); } else { console.log('请求失败'); wx.showToast({ title: res.data.errmsg, icon: 'none' }) } }, fail: function(res) { console.log(res); resolve(res); } }) }); } module.exports = { formatDate, formatTime, formatDateTime, dateLaters, dateLater, formatLocation, getDateStr, httpRequest }