ResolverStyle.STRICT 在 `@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)` 中不起作用
Posted
技术标签:
【中文标题】ResolverStyle.STRICT 在 `@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)` 中不起作用【英文标题】:ResolverStyle.STRICT is not working in `@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)` 【发布时间】:2019-02-07 07:08:48 【问题描述】:我正在使用:
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
@JsonFormat( pattern = "MM-dd-yyyy" )
private LocalDate start;
但它接受02-30-2019
并自动转换为02-28-2019
。但我想限制那个日期。
我也用过:
@DateTimeFormat(iso = java.time.format.DateTimeFormatter.ISO_DATE)
@JsonFormat( pattern = "MM-dd-yyyy" )
private LocalDate start;
但它给出了编译时错误:Attribute value must be constant
.
这里是ankit:
我也有同样的问题,也使用u
代替y
,但没有帮助:
@FutureOrPresent
@DateTimeFormat( iso = DateTimeFormat.ISO.DATE,pattern = "MM-dd-uuuu")
@JsonFormat( pattern = "MM-dd-uuuu" )
private LocalDate start;
我想在解析时进行限制。它接受02-31-2019
并自动转换为02-28-2019
。参考:https://***.com/a/41104034/6097074
现在09/08/2018
如果我正在使用: private LocalDate start;//不使用DateTimeFormat和JsonFormat注解
如果我使用:yyyy-MM-dd
json 格式日期,即2014-01-01
,则此工作正常。
但我需要解析为MM-dd-yyyy
。
帮助解决这个问题, 谢谢。
【问题讨论】:
你能分享一些代码,或者试着让你的问题更容易理解吗?目前尚不清楚您要达到的目标。 @Aris_Kortex 请再次查看问题。我编辑了 @ankit 无法使用DateTimeFormatter.ISO_DATE
解析无效日期(如 2019-02-30)。也许您的问题在于 JSON 层。
@MenoHochschild 你说得对,DateTimeFormatter.ISO_DATE
无法解析无效日期(如 2019-02-30)。但我无法使用DateTimeFormatter.ISO_DATE
。请仔细阅读问题。谢谢
@ankit 在指定注释@DateTimeFormat
时,您是否使用Joda-Time?那是不一样的。
【参考方案1】:
我为您的问题找到了解决方案:
删除下一行
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
@JsonFormat( pattern = "MM-dd-yyyy" )
只需使用:
private LocalDate start;
并在 yyyy-MM-dd 或 yyyy-MM-ddTHH:mm:ss 中发送日期(春季使用 ResolverStyle.Strict 解析日期的默认日期格式)日期格式。
【讨论】:
@AKA 请告诉我如果我想使用“MM-dd-yyyy”格式怎么办? @ankit 不,您不能将此格式与 ResolverStyle.Strict 一起使用。以上是关于ResolverStyle.STRICT 在 `@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)` 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
NOIP 2015 & SDOI 2016 Round1 & CTSC 2016 & SDOI2016 Round2游记