如何向后台传递日期

直接向后台传,会报错格式转化错误。

Cannot deserialize value of type `java.util.Date` from String "2020-02-26"

前台写法:

<el-form-item label="部署时间" prop="deployDate">
      <el-date-picker
              v-model="dataForm.deployDate"
              type="date"
              value-format="yyyy-MM-dd"
              format="yyyy-MM-dd"
              placeholder="选择日期">
        </el-date-picker>
    </el-form-item>

后台写法:

controller中直接实体接收,只需要在实体类中加入如下代码,进行格式化处理即可
/**
     * 部署时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
    private Date deployDate;

给后端发送日期格式

// 给后端发送日期格式
formatDateValue(now) {
	var year = this.dateZero(now.getFullYear()); //取得4位数的年份
	var month = this.dateZero(now.getMonth() + 1); //取得日期中的月份,其中0表示1月,11表示12月
	var date = this.dateZero(now.getDate()); //返回日期月份中的天数(1到31)
	var hour = this.dateZero(now.getHours()); //返回日期中的小时数(0到23)
	var minute = this.dateZero(now.getMinutes()); //返回日期中的分钟数(0到59)
	var second = this.dateZero(now.getSeconds()); //返回日期中的秒数(0到59)
	return year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second;
},
// 日期前面加0
dateZero(time) {
	if (time < 10) {
		time = "" + "0" + time;
	}
	return time;
},
//需要发送的值
this.formatDateValue(new Date(this.appointmentTime))

以上为个人经验,希望能给大家一个参考,也希望大家多多支持阿兔在线工具。 

点赞(0)

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部