【问题标题】:ResolverStyle.STRICT is not working in `@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)`ResolverStyle.STRICT 在 `@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://stackoverflow.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?那是不一样的。

标签: java spring validation date datetime


【解决方案1】:

我为您的问题找到了解决方案:

删除下一行

@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
@JsonFormat( pattern = "MM-dd-yyyy" )

只需使用:

private LocalDate start;

并在 yyyy-MM-ddyyyy-MM-ddTHH:mm:ss 中发送日期(春季使用 ResolverStyle.Strict 解析日期的默认日期格式)日期格式。

【讨论】:

  • @AKA 请告诉我如果我想使用“MM-dd-yyyy”格式怎么办?
  • @ankit 不,您不能将此格式与 ResolverStyle.Strict 一起使用。
猜你喜欢
  • 1970-01-01
  • 2018-08-09
  • 2021-03-14
  • 1970-01-01
  • 1970-01-01
  • 2021-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多