2011-10-24 12 views
1

jquery timepickerプラグインを使用していて、正常に動作します。私は時間を選択してフォームを提出することができます。私は春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} 

ご覧のとおり、私はJavaのCarlendarとして "09:30"のような文字列を解析しようとしています。日付部分が必要ですか?日付部分をどのように指定するのですか?

答えて

3

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)); 
... 
関連する問題