プロが教えるわが家の防犯対策術!

初心的なことですいません
データベースから生年月日項目の日付型(1999/11/01)をとってきてたいんですが、getDate型でとってくればいいんでしょうか?その生年月日を使って計算をしたいでカレンダークラスに入れたいんですが、どうやったらいいのかわかりません、参考にしたらいいサイトとかあったら教えてください。

A 回答 (5件)

SimpleDateFormatを使ってサンプルコードを書いてみました。



import java.util.*;
import java.text.*;
class ShowDate{
ShowDate(String x_day){
try{
SimpleDateFormat f = new SimpleDateFormat("yyyy/MM/dd");
Date date = null;
date = f.parse(x_day);
System.out.println(date);
String someDay = f.format(date);
System.out.println(someDay);
}
catch(ParseException e){
System.out.println(e);
}
}
}
public class TestDate{
public static void main (String[] args){
ShowDate showDate = new ShowDate("2006/02/23");
}
}
結果
Thu Feb 23 00:00:00 JST 2006
2006/02/23
となるのでどちらでもいいように使ってください。
    • good
    • 0

どういう形でデータ管理しているかわからないのでなんともいえなんですが・・・。


おっしゃるように、ResultSetのgetDate、getTime、getTimestampで普通は取得できると思いますよ。

java.sql.Date d = rs.getDate("hoge");
java.sql.Time t = rs.getTime("hoge");
java.sql.Timestamp ts = rs.getTimestamp("hoge");

こんな感じでDateやTimeやTimestampインスタンスとして取得できるはずです。Date/Time/Timestampはjava.util.Dateを継承したクラスですからDate関係のメソッドはすべて使えますので後はいろいろ処理できるでしょう。
 もし、なんらかの問題でうまくインスタンスが取得できないとかいうのであれば、Stringの値から取得ことになるでしょう。これは、普通はDateFormatを使うのが常道でしょう。

SimpleDateFormat f = new SimpleDateFormat ("yyyy/MM/dd");
Date date = f.format(String値);

こんな感じで、指定したフォーマットで記したString値からDateインスタンスを生成できます。
    • good
    • 0

subString→substringでした。



3行とも間違っています。直しておいてください。
    • good
    • 1

ResultSet変数をrsとして


String strData = rs.getString(String 行番号);

String strYear = strData.subString(strData,0,4);
String strMonth = strData.subString(strData,5,7);
String strDay = strData.subString(8);

int intYear = Integer.parseInt(strYear);
int intMonth = Integer.parseInt(strMonth);
int intDay = Integer.parseInt(strDay);

Calendar cal = new Calendar();
cal.set(intYear, intMonth, intDay);

で、OKだとおもいます。私もこの手のプログラムは久しぶりですが、多分動くとおもいます。

なお、あなたくらいのレベルならば秀和システムのJava逆引き大全という本が役に立つと思います。

参考URL:http://www.shuwasystem.co.jp/cgi-bin/detail.cgi? …
    • good
    • 0
この回答へのお礼

遅くなってすいません、なるほど、そういう風にするんですか、ありがとうございます。

お礼日時:2006/02/26 22:26

Calendarクラスを使うならば、


年・月・日をそれぞれintで取得し、
Calendarクラスのsetメソッドでそれぞれをセットし、
処理を施す。

いかがでしょうか?

参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/api/java …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!