vue 把2023年05月17日转化为2023-05-17
时间: 2023-08-08 22:07:38 浏览: 45
可以使用 Vue.js 中的过滤器来实现将日期格式转化为所需格式。以下是代码示例:
```vue
<template>
<div>{{ dateStr | formatDate }}</div>
</template>
<script>
export default {
data() {
return {
dateStr: '2023年05月17日'
}
},
filters: {
formatDate(value) {
const dateArr = value.split(/[年月日]/).map(Number);
const dateObj = new Date(dateArr[0], dateArr[1] - 1, dateArr[2]);
const formattedDate = dateObj.toISOString().slice(0, 10);
return formattedDate;
}
}
}
</script>
```
在模板中使用 `dateStr | formatDate` 进行过滤器的调用,即可将日期格式转化为所需格式。
相关问题
vue 2023年05月17日转化为2023-05-17
可以使用 JavaScript 中的 Date 类型和相关方法来实现这个转化。以下是代码示例:
```javascript
const dateStr = '2023年05月17日';
const dateArr = dateStr.split(/[年月日]/).map(Number); // 将日期字符串拆分为数字数组
const dateObj = new Date(dateArr[0], dateArr[1] - 1, dateArr[2]); // 创建 Date 对象
const formattedDate = dateObj.toISOString().slice(0, 10); // 转化为 ISO 格式的字符串并截取年月日部分
console.log(formattedDate); // 输出:'2023-05-17'
```
注意,上述代码中,月份需要减 1,因为 JavaScript 中的 Date 类型中月份是从 0 开始计数的。
vue 2023年05月17日转化为2023-05-17的方法
可以在 Vue 组件中编写一个计算属性来实现将日期格式转化为所需格式。以下是代码示例:
```vue
<template>
<div>{{ formattedDate }}</div>
</template>
<script>
export default {
data() {
return {
dateStr: '2023年05月17日'
}
},
computed: {
formattedDate() {
const dateArr = this.dateStr.split(/[年月日]/).map(Number);
const dateObj = new Date(dateArr[0], dateArr[1] - 1, dateArr[2]);
const formattedDate = dateObj.toISOString().slice(0, 10);
return formattedDate;
}
}
}
</script>
```
在模板中使用 `formattedDate` 进行计算属性的调用,即可将日期格式转化为所需格式。