其他分享
首页 > 其他分享> > 传参时带有日期参数,@JsonFormat与@DateTimeFormat

传参时带有日期参数,@JsonFormat与@DateTimeFormat

作者:互联网

先鸡汤一波,平时不注意,欠的债总还是要还的,换工作了,自己写个项目,居然不知道他俩的区别。

    注解@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")是后台到前台的时间格式的转换
    注解@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")主要是前后到后台的时间格式的转换
缺@DateTimeFormat的报错信息:

	2021-10-27 10:23:25.783  WARN 10272 --- [io-9754-exec-12] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 2 errors
	Field error in object 'receiptTaskDO' on field 'receiptBeginDate': rejected value [2021-10-12T16:00:00.000Z]; codes [typeMismatch.receiptTaskDO.receiptBeginDate,typeMismatch.receiptBeginDate,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [receiptTaskDO.receiptBeginDate,receiptBeginDate]; arguments []; default message [receiptBeginDate]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'receiptBeginDate'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [@com.fasterxml.jackson.annotation.JsonFormat @org.springframework.format.annotation.DateTimeFormat java.util.Date] for value '2021-10-12T16:00:00.000Z'; nested exception is java.lang.IllegalArgumentException: Invalid format: "2021-10-12T16:00:00.000Z" is malformed at "T16:00:00.000Z"]

日期格式化:

        formatDateTime(inputTime){
            if(!inputTime && typeof inputTime !== 'number'){
                return '';
            }
            var localTime = '';
            inputTime = new Date(inputTime).getTime();
            const offset = (new Date()).getTimezoneOffset();
            localTime = (new Date(inputTime - offset * 60000)).toISOString();
            localTime = localTime.substr(0, localTime.lastIndexOf('.'));
            localTime = localTime.replace('T', ' ');
            return localTime;
        },

标签:JsonFormat,java,receiptBeginDate,inputTime,Date,传参时,springframework,DateTimeForm
来源: https://blog.csdn.net/chitianshenshi/article/details/121091568