Javascript

传参时带有日期参数,@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与@DateTimeFormat的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!