• 締切済み

日付・時刻型について教えてください

いつもお世話になっております。 例) (1)10時~13時まで (2)13時~19時まで (3)19時~4時まで と、 DBからとってきた日付/時刻型のデータの時間帯によって違う処理をしていきたいと思っているんですが、DBからとってきて、どうやって(1)か(2)か(3)の時間帯かを調べたらいいのか、分かりません。 初歩的なことですが、教えてください。

みんなの回答

  • ssr-y6
  • ベストアンサー率71% (5/7)
回答No.2

 日付/時刻型のデータを直接カレンダのインスタンスに入れ、 時刻部分を表す値だけを取り出してその数値で処理を分ければよいと思います。 以下の例は、日付を"yyyy/MM/dd kk:mm"の形式で与えて、 その時刻によって処理を分けるプログラムです。 import java.util.*; import java.text.*; public class selecttime { public static void main(String args[]) { try { SimpleDateFormat DF = new SimpleDateFormat("yyyy/MM/dd kk:mm"); Date DA = DF.parse(args[0]); Calendar CA = Calendar.getInstance(); CA.setTime(DA); int t = CA.get(Calendar.HOUR_OF_DAY); if ((t >= 10) && (t < 13)) System.out.println("case(10-13)"); else if ((t >= 13) && (t < 19)) System.out.println("case(13-19)"); else if ((t >= 19) || (t < 4)) System.out.println("case(19-4)"); else System.out.println("case(none)"); } catch (Exception ex) { System.out.println(ex.toString()); }; }; }

すると、全ての回答が全文表示されます。
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

Dateクラスからjava.util.Calendarクラスに変換すれば簡単です。

saai
質問者

補足

java.util.Date dt = rs.getDate("intime"); calendar.setTime(dt); でいいんですよね?

すると、全ての回答が全文表示されます。

関連するQ&A