vue当前在考核评分的数据统计页面中,需要请求数据前默认获取上个月的时间,作为参数使用
先来看对于时间的处理,默认的View UI 时间选择组件中写入需要的“2022-06”这样的格式:
<DatePicker type="month" v-model="searchKey.time" placeholder="请选择年月" style="width: 200px" />
var date = new Date() //Thu Sep 10 2020 17:22:32 GMT+0800 (中国标准时间)
var year = date.getFullYear(); //取得4位数的年份
var month = date.getMonth(); //取得日期月份,其中0表示1月,11表示12月,此处需要上个月故不+1
month = month >= 10 ? month : month === 0 ? 12 : '0' + month
year = date.getMonth() === 0 ? year - 1 : year
var res = year + '-' + month; //2022-07 2022-06
console.log(res)
现在是2022/7/6,获取结果如下:
在获取时间之后直接使用会出现问题,时间的参数变成了 :2022-05-31T16:00:00.000Z
暂时未找到原因,但在此使用异步处理后就可以正常请求,先拼接成日期给time赋值,再进行数据请求。
created () {
this.getDefaultList()
},
methods:
async getDefaultList () {
let time = await this.defaultDate()
this.searchKey.time = time
this.getData();
},
defaultDate () {
var date = new Date() //Thu Sep 10 2020 17:22:32 GMT+0800 (中国标准时间)
var year = date.getFullYear(); //取得4位数的年份
var month = date.getMonth(); //取得日期月份,其中0表示1月,11表示12月,此处需要上个月故不+1
month = month >= 10 ? month : month === 0 ? 12 : '0' + month
year = date.getMonth() === 0 ? year - 1 : year
var res = year + '-' + month; //2022-07 2022-06
console.log(res)
return res
},