更改输入日期格式? Vuejs +猫鼬

时间:2019-09-18 11:59:30

标签: mongodb vue.js mongoose

问题:将“日期”输入字段从“ mm / dd / yyyy”更改为“ dd / mm / yyyy”。

我已经知道在收到日期之后如何进行更改,但是问题在于,当客户端键入内容时,输入仍会收到“ mm / dd / yyyy”。

我的猫鼬模式:

const schemaRegister = new mongoose.Schema({
  date: Date,
});

我的输入区域:

 <b-form-input v-mask="'##/##/####'" v-model="date"></b-form-input>

我的日期格式(使用momentsjs):

changeDateFormat() {
        let fixedDate = moment(this.registers[i].date).format("L");
        this.registers[i].date = fixedDate;
      }

我在桌子上显示了“ fixedDate”,但这并没有多大帮助,因为当客户键入内容时,他认为前两个广告位是天(dd),但实际上是月(mm) )。作为解决方案,我想到了使用Date作为字符串,但是这样会使验证变得非常困难。

2 个答案:

答案 0 :(得分:0)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

只需按照正确的顺序传递参数,就像这样:

new Date(day, monthIndex, year);

答案 1 :(得分:0)

我没有正确使用'momentsjs',首先我需要使用

来解析输入日期
 let formatedDate = moment(this.date,"DD-MM-YYYY");

然后显示我应该使用的日期

let fixedDate = moment(this.registers.date).format("DD/MM/YYYY");