此文章只为记录
逻辑函数
// 获取当前星期
getDay() {
let week = []
var weeks = new Array("星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日");
for (var i = 0; i < 7; i++) {
let weekObj = {
name: weeks[i],
date: '',
timeStamp: '',
}
week.push(weekObj)
}
let today = this.getStartTime(Number(new Date())) // 当天时间戳
let today_week = new Date().getDay() // 当天星期几
if (today_week == 0) {
// 若当天为周日
week[6].timeStamp = today
} else {
week[today_week - 1].timeStamp = today
}
var leftNum = today_week - 2 // 本周内今天的前几天的数量
var rightNum = 6 - today_week // 本周内今天的后几天的数量
for (var left = 0; left < leftNum; left++) {
week[left].timeStamp =
today - (today_week - left - 1) * 1000 * 60 * 60 * 24
}
for (var right = 0; right < rightNum; right++) {
week[right + today_week].timeStamp =
today + (right + 1) * 1000 * 60 * 60 * 24
}
week.map((el) => {
el.date = this.timestampToTime(el.timeStamp)
})
// let res2 = week.splice(0,1)
// week.push(res2[0])
let that = this;
that.setData({
currentWeek: week
})
},
工具函数
// 获取当天0点的时间戳
getStartTime(time) {
const nowTimeDate = new Date(time)
return nowTimeDate.setHours(0, 0, 0, 0)
},
// 时间戳转日期格式
timestampToTime(timestamp) {
var date = new Date(timestamp)
var Y = date.getFullYear() + '-'
var M =
(date.getMonth() + 1 < 10 ?
'0' + (date.getMonth() + 1) :
date.getMonth() + 1) + '-'
var D = date.getDate()
return Y + M + D
},