spring 4 mvc,java 8中针对日期的一个处理方法

在spring mvc中,经常遇到日期问题

@RestController
@RequestMapping("/api/datetime/")
final class DateTimeController {
 
    @RequestMapping(value = "date", method = RequestMethod.POST)
    public void processDate(@RequestParam("date") LocalDate date) {
      
    }
 
    @RequestMapping(value = "datetime", method = RequestMethod.POST)
    public void processDateTime(@RequestParam("datetime") LocalDateTime dateAndTime) {
        //Do stuff
    }
}

   比如我发送/api/datetime/date这样的日期格式(2015-09-26),则会出错,
抛出ConversionFailedException
   而如果使用java 8,spring mvc4支持@DateTimeFormat的注解,则很容易
解决问题

 
 @RequestMapping(value = "date", method = RequestMethod.POST)
    public void processDate(@RequestParam("date") 
                            @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date) {

    }

   如果是时间类型,则
 
@RequestMapping(value = "date", method = RequestMethod.POST)
    public void processDate(@RequestParam("date") 
                            @DateTimeFormat(pattern = "dd.MM.yyyy") LocalDate date) {

    }


或者
 @RequestMapping(value = "datetime", method = RequestMethod.POST)
    public void processDateTime(@RequestParam("datetime") 
                                @DateTimeFormat(pattern = "dd.MM.yyyy HH:mm:ss.SSSZ") LocalDateTime dateAndTime) {
        
    }

猜你喜欢

转载自jackyrong.iteye.com/blog/2247701