- ベストアンサー
時間を表す文字列を時刻に変換
java eclipse3.5を使ってプログラミングを勉強しています. コンソール画面で入力した時間型文字列を時刻に変換するためにカレンダークラスを使っています. 入力のフォーマットは次のようにしたいです. ex. 2010:01:25:00:00:00 入力した文字列が正しくなければ、つまり月の入力ならば1~12、日ならば月に相当した数値、時間なら0~23、分なら0~59、秒なら0~59という ことを判定して、この条件を満たさないなら再入力をさせたいです. ちなみに2010:01:25:00:00:00を年,月,日などに分割するために, splitメソッドを使い':'で分割しています. String time = "2010:01:25:00:00:00"; String[] time_para = time.split(":"); とすればtime_para[0]が年,time_para[1]が月,…というようになります. Calendar calendar = Calendar.getInstance(); calendar.clear(); calendar.set(time_para[0], time_para[1] - 1, time_para[2], time_para[3], time_para[4], time_para[5]); Time = calendar.getTimeInMillis(); というようにして時間に変換しています. 正しく入力されたかどうかの確認をしたいのですが,月によって1ヶ月の日の数が異なるため、time_para[1]が0から30ならOKという条件には出来ません. どのようにすれば月によって変化する日数を区別して, 正しい入力かの判定が出きるのでしょうか? アドバイスを頂きたいです.よろしくお願いします.
- みんなの回答 (3)
- 専門家の回答