实现一个今年过了多少天的组件的记录
我们使用了原生的微信小程序开发文档里的组件 “Progress” 并不需要自己去写:
https://developers.weixin.qq.com/miniprogram/dev/component/progress.html
之后就是我们具体的去计算我们里面的进度条上的数据随着我们的时间变化的算法:
methods: {
isLeapYear () {
const year = new Date().getFullYear()
if (year % 400 === 0) {
return true
} else if (year % 4 === 0 && year % 100 !== 0) {
return true
} else {
return false
}
},
getDayOfYear () {
return this.isLeapYear() ? 366 : 365
}
},
computed: {
year () {
return new Date().getFullYear()//获取年份
},
days () {
let start = new Date()
start.setMonth(0)
start.setDate(1)
// start就是今年第一天
// 今天的时间戳 减去今年第一天的时间戳
let offset = new Date().getTime() - start.getTime()
return parseInt(offset / 1000 / 60 / 60 / 24) + 1
},
percent () {
return (this.days * 100 / this.getDayOfYear()).toFixed(1)
}
}
逻辑就是首先我们要写一个判断是不是闰年,然后我们去设置一个初始值 也就是一年的第一天 还有就是用js里的getTime时间戳获取到我们当前的日期 所得的差值就是我们过了多少天 我们还要计算一下比率 就用我们当前的过了多少天去除以判断是不是闰年的结果就是我们最后得到的值,我们用toFixed 来进行修饰 百分号前面数字的小数点只保留一位
逻辑就是首先我们要写一个判断是不是闰年,然后我们去设置一个初始值 也就是一年的第一天 还有就是用js里的getTime时间戳获取到我们当前的日期 所得的差值就是我们过了多少天 我们还要计算一下比率 就用我们当前的过了多少天去除以判断是不是闰年的结果就是我们最后得到的值,我们用toFixed 来进行修饰 百分号前面数字的小数点只保留一位