Строка времени к календарю - PullRequest
1 голос
/ 25 октября 2011

Я использую плагин jquery timepicker, и он работает нормально.Я могу выбрать время и отправить свою форму.Я использую Spring MVC 3.0, и проблема возникает, когда я пытаюсь проанализировать строку, которая представляет время, как java carlendar.

Я читал об этом преобразовании даты / времени, http://www.odi.ch/prog/design/datetime.php, и это кажется довольно сложным.Может кто-нибудь, пожалуйста, предложить какую-то форму совета.Вот мой код, который зависит от весны.

@RequestMapping(value = "scheduleadd", method = RequestMethod.POST)
public String scheduleadd(  @Valid Schedule schedule, BindingResult bindingResult,
                            @RequestParam("startdate") @org.springframework.format.annotation.DateTimeFormat(iso=ISO.DATE) java.util.Calendar startdate,
                            @RequestParam("enddate") @org.springframework.format.annotation.DateTimeFormat(iso=ISO.DATE) java.util.Calendar enddate,
                            @RequestParam("starttime") @org.springframework.format.annotation.DateTimeFormat(iso=ISO.NONE) java.util.Calendar starttime,
                            @RequestParam("endtime") @org.springframework.format.annotation.DateTimeFormat(iso=ISO.NONE) java.util.Calendar endtime,
                            @RequestParam("moduleInstanceId") Long mId, Model uiModel, HttpServletRequest httpServletRequest) { //my stuff goes here}

Как видите, я пытаюсь разобрать строку типа "09:30" как java Carlendar.Нужна ли мне часть даты?Как мне указать дату части?

1 Ответ

3 голосов
/ 25 октября 2011

Используйте атрибут pattern @ DateTimeFormat , чтобы указать, что поля «время» не являются полностью сформированными датами и временем ISO, а скорее просто временами;Например:

...
@RequestParam("starttime") @DateTimeFormat(pattern="hh:mm") Calendar starttime,
@RequestParam("endtime") @DateTimeFormat(pattern="hh:mm") Calendar endtime,
...

И в вашем методе scheduleadd() объедините поля Calendar, чтобы получить полностью сформированную дату и время:

startdate.set(Calendar.HOUR_OF_DAY, starttime.get(Calendar.HOUR_OF_DAY));
startdate.set(Calendar.MINUTE, starttime.get(Calendar.MINUTE));
...
...