• ベストアンサー

Date型からDate型への変換

freedom560の回答

回答No.5

Dateが得られているのならば static String getTimeStr(Date d) { SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS"); return sdf.format(d); } Dateを得られていないのならば、上記メソッド+ static String parseDate(String datestr) throws ParseException { SimpleDateFormat sdf=new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy",Locale.ENGLISH); Date d=sdf.parse(datestr); return getTimeStr(d); } でうまくいくと思います。 DateのtoStringは固定なので、日付の形式をいろいろ変えたい場合はDateFormatのformat(Date date)メソッドを使うのが一般的です。(DateFormatはabstractなのでSimpleDateFormatのオブジェクトを作るわけですが)

CoolWolf
質問者

お礼

DateFormatについての詳しいご教授有難う御座います。 こういった方法もあるんですね。 参考にさせて頂きます。 このような未熟者の質問にお時間を割いて頂き、皆様どうも有難う御座いました。 これにて質問を締め切らせて頂きます。

関連するQ&A

  • JavaのDateクラスについて教えてください.

    下のプログラムを実行すると, Date : Mon Jan 30 15:30:00 JST 2006 となります. 私としては,Apr となることを期待するのですが, おかしいでしょうか? Javaの環境は,jdk1.5.0_05 です. // ここから import java.text.SimpleDateFormat; import java.util.Date; public class DateTest { public static void main(String[] args) throws Exception { String dateStr = "2006/04/30 15:30"; Date date = new SimpleDateFormat("yyyy/MM/DD HH:mm").parse(dateStr); System.err.println("Date : " + date); } }

  • 和暦変換フォーマット用メソッドについて

    private void 生年月日編集(String 生年月日, PrintWriter out) { SimpleDateFormat sdf1 = new SimpleDateFormat(生年月日); sdf1.setLenient(false); Date d = sdf1.parse("20120705", new ParsePosition(0)); SimpleDateFormat sdf2 = new SimpleDateFormat("GGGGyyyy年M月d日", new Locale("ja", "JP", "JP")); System.out.println(sdf2.format(d)); 上記の和暦変換プログラムを フォーマット用メソッドとして和暦変換プログラムを呼び だすようにしたいのですが うまくいきません。 アドバイスよろしくお願いいたします。

    • ベストアンサー
    • Java
  • JSTのDateオブジェクトが作りたい

    「JST」の日付オブジェクトを作りたいのですが、 どうすれば良いでしょうか? java.util.Dateクラスを new Date() でオブジェクトを作ると Thu Jul 23 19:47:50 UTC 2009 と、UTCになってしまいます...。

    • ベストアンサー
    • Java
  • java String型から日付型へ変換

    こんにちは 現在javaのPGで日付チェックを行いたくプログラムを組んでいるのですが、色々なサイトを見ながら以下のようなものを書きました。 しかし、動かすと必ず例外にcatchされていまいます。 なぜ例外処理をされてしまうのか、原因がわかりません。 何がいけないのでしょうか?? ご教授お願いいたします。 import java.util.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; //strbeginDate, strcloseDateはフォームよりString型で受け取ります。 String strbeginDate, strcloseDate; SimpleDateFormat DatebeginDateformat = new SimpleDateFormat("YYYYMMDD"); SimpleDateFormat DatecloseDateformat = new SimpleDateFormat("YYYYMMDD"); Date datebeginDate = DatebeginDateformat.parse( strbeginDate ); Date datecloseDate = DatecloseDateformat.parse( strcloseDate ); intflag = datebeginDate.compareTo(datecloseDate);

    • ベストアンサー
    • Java
  • 日付フォーマットの変換についての質問。

    こんにちは。宜しくお願いします。 現在、String型で受け取った日付の文字列をData型にして、さらに違う日付フォーマットにするプログラミングを書いています。 具体的には、 String型の"Wed, 07 Dec 2005 00:00:00 +0900"を、 Date型の"Wed, 07 Dec 2005 00:00:00 +0900"に変更して、 同じくDate型の、"2005-12-07T00:00:00+09:00"にしたいのです。 今躓いてる点は、String型の日付をDate型に変換する所で、エラーメッセージが、” Unparseable date: "Wed, 07 Dec 2005 00:00:00 +0900"”となっており、コード修正しても上手くいきません。 現時点でのコードを記述しますので、お時間があるときにご教授お願いします。 ---- import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * 時間のフォーマット変換テスト。 * */ public class testConvertTime { public static void main(String[] args) throws ParseException { String strPreTime = "Wed, 07 Dec 2005 00:00:00 +0900"; //2005-12-07T03:00:12+09:00 SimpleDateFormat sdf = new SimpleDateFormat(); //日付の出力形式を設定 sdf.applyPattern( "EEE, dd MMM yyyy HH:mm:ss Z" ); //指定したフォーマットで日付が返される Date dat = sdf.parse(strPreTime); //java.util.Date dat = sdf.parse(strPreTime); } }

    • ベストアンサー
    • Java
  • Date型

    下記のコード内で、「20060618」設定して、出力を「2006年6月18日」としたいのですが、やり方がわかりません。わかる人がいましたらよろしくお願いいたします。また、Date型というのはどのような型のことを言うのでしょうか?初心者的な質問だと思いますがよろしくお願いいたします。 import java.util.*; import java.text.*; class Test { public static void main(String[] args) { Date date1 = new Date(); // Date date1 = format.parse("20011010"); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy'年'MM'月'dd'日'"); System.out.println(sdf1.format(date1)); } }

    • ベストアンサー
    • Java
  • Date型へのキャストについて

    VB.NET初心者です。 String型からDate型へキャストをしたいのですが、よそのサイト様を参考にいろいろ試してみたのですが、うまくいかず困っています。どなたか、教えてください。よろしくお願いします。 エラー:『文字列は有効なDateTimeではありません』 Dim str1 As String = "2009/08/01" または Dim str2 As String = "2009/08/01 12:00:00" str2 = str2.substring(0,10).replacce("/","") の形式で取得した値を"yyyy/mm/dd形式で"Date方へキャストしたいのですが.... Dim dt As Date = Date.ParseExact(str, "yyyy/MM/dd", Nothing) Dim dt As Date = Date.parse(str) Dim dt As Date = Ctype(str, Date) など試してみたのですが、#8/1/2009#のように書式がおかしいのですが、どこを直せばよいのでしょうか? Date.ParseExact()でできると思っていたのですが、悩んでいます。よろしくお願いします。

  • VB2010で時刻表記変換

    独学でVB2010Expressを使用しています。 あるCSVからADOを使用してデータを取得し、Accessに転載しているのですが、そのデータで日付と時間のフィールドがあるのですが各々以下のような表示(『2012/04/02』の場合→『20120402』、『12:32:50』の場合→『123250』)なので逆の変換をした上で『2012/04/02 12:32:50』とAccessに格納したいのですが『StringからDoubleに変換できません』的なエラーが出てしまします?(全部String型のつもりなんですが) 色々調べたのですが、うまくいきません。ご教授お願いします。 下記のコードはデータテーブル(DT)に変換前の『日』・『時刻』値をを格納したものを使用しています。 iはFOR NEXTでループさせています。 OleCmd.Parameters.Add("@DateTime", SqlDbType.Date).Value OleCmd.Parameters("@DateTime").Value = Date.Parse(CInt(DT.Rows(i)("日")).ToString("0000/00/00")) + " " + CInt(DT.Rows(i)("時刻")) \ 10000 + ":" + (CInt(DT.Rows(i)("時刻")) Mod 10000) \ 100.ToString("00") + ":" + (CInt(DT.Rows(i)("時刻")) Mod 10000) Mod 100.ToString("00")

  • 日本時間でparseしたい

    質問させてください。 Stringの文字列から、Dateクラスを作成する場合、以下のコードを使用すると思います。 SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd"); try { date1 = format.parse("2000/1/1"); } catch (ParseException e1) { e1.printStackTrace(); } この場合、date1にはUTFでの"2000/1/1"が代入されます。 日本時間での"2000/1/1"を代入させたいのですが、どのようにコードを書けばよいのでしょうか。 どなたかお教えください。よろしくお願いします。

    • ベストアンサー
    • Java
  • C#で型変換

    DataTable T_DATATABLE = new DataTable(); DataRow[] T_DATATABLE_row; DataAdapter adp = new DataAdapter("SELECT id,Date FROM TABLE", CONN); adp.Fill(T_DATATABLE); //データテーブルにidとDateフィールドがあります。 //dtに下記で取得したダータを入れようと思っているのですが、 //System.Datetimeに変換することはできませんと表示されます。 DateTime dt = T_DATATABLE.Rows[0]["Date"]; どのようにすれば、型変換をすることができるでしょうか? string dt = (string)T_DATATABLE.Rows[0]["Date"]; string dt = (string)T_DATATABLE.Rows[0]["Date"].toString; としてもできません・・・ ご教授お願い致します!