- - PR -
string型をdate型へ
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-03-23 15:07
初歩的な質問ですいませんが、string型である日付ををdate型に直す時はどのように型変換をかけばよいのでしょうか?
日付は、年月日とそれぞれstring型で分かれており、それをくっつけてDate型の値にしたいのですが。。。 | ||||||||
|
投稿日時: 2004-03-23 15:19
普通は、java.text.DateFormat#parse を使います。
import java.text.DateFormat; import java.text.SimpleDateFormat; ・・・ DateFormat foramt=new SimpleDateFormat("yyyy/MM/dd"); Date date = format.parse(string_date); ・・・ というような感じです。 | ||||||||
|
投稿日時: 2004-03-23 15:37
coasmさんの方法で万事おっけーなので、蛇足ですが……
1. まずgoogleで「java」「Date」をキーに検索してみます。 http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=java+Date&lr=lang_ja 2. 最初の候補を選んでみます。 http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/util/Date.html 3a. 色々と説明が書いてありますから、それを読んでみたりします。ついでに「関連項目」から(説明文中にも名前の出てきた)DateFormatを選んでみます。 http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/text/DateFormat.html 3b. もしくはコンストラクタの説明で名前が出てきたCalendarクラスを調べてみます。 http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/util/Calendar.html ……どの辺りで引っ掛かったのでしょうか? [ メッセージ編集済み 編集者: 永井和彦 編集日時 2004-03-23 15:51 ] | ||||||||
|
投稿日時: 2004-03-23 19:26
回答ありがとうございます。
今、教えていただいたとおりに書いていたのですが、 Date date = format.parse(string_date); のdateのところに java.util.dateからjava.sql.dateに変換できませんとエラーが出てしまったのですが、 import java.sql.Date;としか、書いてないつもりなのですがどこかでutilを使用していると言うことなのでしょうか? 本当に、初歩的なことですいませんがよろしくお願いします。 | ||||||||
|
投稿日時: 2004-03-23 19:50
APIリファレンスを見ていただければ分ると思いますが
DateFormat#parseの戻り値はjava.util.Dateです。 sarusaruさんが期待しているDate型というのはjava.sql.Dateなのでしょうか? なぜ、java.util.Dateではなくjava.sql.Dateを使用しているのでしょう? (java.sql.Dateを使用したことが無いので良く分らないんですが・・・^_^;) まー、それにしても下記のようなコードを書けば変換できると思います。 (他にも方法はたくさんあると思いますので、1例) DateFormat foramt=new SimpleDateFormat("yyyy/MM/dd"); java.util.Date date = format.parse(string_date); java.sql.Date sqlDate = new java.sql.Date(date.getTime()); 何はさておき、APIリファレンスは見る癖をつけた方が良いと思いますよ。 | ||||||||
|
投稿日時: 2004-03-23 20:03
こんばんわ。
で返ってくるDate型はjava.util.DateのDate型なので、 http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/sql/Date.html java.sql.DateのData型には直接入りません。 http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/sql/Date.html なので、java.util.Calendarを使って、 http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/Calendar.html
としてやれば、java.sql.Date型を取得出来ると思います。 こんなんでどうでしょ? # 他の方がシンプルなコードを書いてますね・・・。 # まぁ、yyyy/mm/ddが分かれているという事なので、こんな書き方もありますよって事で。 [ メッセージ編集済み 編集者: BBC 編集日時 2004-03-23 20:10 ] | ||||||||
|
投稿日時: 2004-03-23 20:07
ご指摘&回答、ありがとうございます。
APIリファレンスと回答を見て、やっと理解できました。 ありがとうございました。感謝、感謝です。 | ||||||||
|
投稿日時: 2004-03-24 17:48
たびたび、投稿させていただきます。
先日の、String型からDate型になおして値を取ることはできたのですが、 日付を入力してもらえば上手く値を取れるのですが、値を入れない時は 空白を、自動的?に入力されるようにしたつもりなのですが、 書き方が悪いせいかjava.text.ParseException: Unparseable date: ""とエラーってしまいます。何か、良い方法はないでしょうか? お力添えをお願いします。 下記のように書いてみたのですが。 DateFormat format = new SimpleDateFormat("yyyy/MM/dd"); ・ ・ ・ } else { java.util.Date datebef = format.parse(""); java.sql.Date sqlDatebef = new java.sql.Date(datebef.getTime()); reportfrm.setBirthday_tfrom(sqlDatebef); } | ||||||||
