[英]How to get the month and year from the past date untill now JavaScript
[英]How to get past month date using Javascript inside VueJs?
我对 Vue 有点陌生,想知道如何获得过去一个月的日期:我有这个代码:
import SomeTable from "./table/SomeTable";
export default {
name: "Cabinets",
components: {SomeTable},
data() {
return {
defaultColumns: [
'id',
'serialNumber'
],
defaultStartDate: new Date(),
defaultEndDate: new Date('2019-10-07')
}
},
props: {
startDate: {type: Date, required: false},
endDate: {type: Date, required: false},
}
}
</script>
然后我将defaultStartDate
和defaultEndDate
放在SomeTable
元素中,如下所示:
<some-table :start-date="defaultStartDate" :end-date="defaultEndDate" :default-columns="defaultColumns"></some-table>
然后返回正确的今天的开始日期以及设置的日期。 但是当我尝试做这样的事情时:
defaultEndDate: new Date().getFullYear() + '-' + new Date().getMonth() + '-' + new Date().getDate()
我的本地环境变成空白并出现各种错误。 我认为这是因为我不能在 Vue 的那个地方使用 Javascript? 但同样,我真的不确定 Vue 是如何工作的,并且通过谷歌搜索找不到太多关于它的信息。 那么我怎么能使用 Javascript 或者即使 Vue 有一个巧妙的技巧呢?
编辑:我得到的错误是:
data() 中的错误:“TypeError: Date().getFullYear 不是函数”
但随后我在 Vue 中使用了所有 javascript 函数。 并且
无效的道具:道具“endDate”的类型检查失败。 预期日期,得到值为“2019-9-5”的字符串。
在您的代码中, endDate: {type: Date, required: false},
表示endDate
应该是 Date 类型。
因此,您需要将计算值转换为Date
,如下所示:
defaultEndDate: new Date(`${(new Date()).getFullYear()}-${(new Date()).getMonth()}-${(new Date()).getDate()}`)
编辑:你需要考虑月份是一月(0)。 使用上面的方法,一月份的时候会报错。 我认为使用如下computed
值可能会更好;
computed: {
defaultEndDate() {
const now = new Date();
now.setMonth(now.getMonth() - 1);
return new Date(now.toJSON().slice(0, 10));
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.