Vue.js约会一个

时间:2016-04-13 00:39:35

标签: javascript vue.js

我的代码在JSBin上的最基本形式。

我将日期存储为YYYY-MM-DD hh:mm:ss,需要显示为MM/DD/YYYY并编辑为YYYY-MM-DD,因为这是HTML日期输入所需要的。一切似乎都有效,除了第一次我修改了一天,反映的日期是提前一天。因此,后续更改是一次性的。

初始状态:

Initial state

首先改变:

First change

任何后续更改:

Any subsequent change

1 个答案:

答案 0 :(得分:0)

我提取了utc日期,然后就可以使该日期正常工作,而不会在一天之内关闭它。

类似的东西:

<input
          type="date"
          name="startDate"
          :value="startDate && startDate.toISOString().split('T')[0]"
          @input="startDate = getDateClean($event.target.valueAsDate)"
          autocomplete="off"
          class="form-control"
        />

method:{
  getDateClean(currDate: Date) {
  // need to convert to UTC to get working input filter
  console.log(currDate);
  let month: number | string = currDate.getUTCMonth() + 1;
  if (month < 10) month = "0" + month;
  let day: number | string = currDate.getUTCDate();
  if (day < 10) day = "0" + day;
  const dateStr =
    currDate.getUTCFullYear() + "-" + month + "-" + day + "T00:00:00";
  console.log(dateStr);
  const d = new Date(dateStr);
  console.log(d);
  return d;
  }
}

查看insert statement中答案的运行示例