2012-04-05 18 views
3

私には要件があります。 DateオブジェクトをフォーマットされたDateオブジェクトに変換したい。私が意味する日付オブジェクトから日付オブジェクトへの変換

`Date d = new Date();System.out.println(d);' 

出力:木4月5日11時28分32秒GMT + 05:30 2012

私は出力が05/4月/ 2012のようになりたいです。出力オブジェクトは、StringでなくDateでなければなりません。 ご不明な点がある場合は、より明確にお知らせします。

ありがとうございます。

+3

['java.text.SimpleDateFormat'](http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html)を参照してください。 – vstm

+0

月:パターン文字の数が3以上の場合、月はテキストとして解釈されます。それ以外の場合は、数値として解釈されます。だから私は '05/APR/2012'が日付になるとは思わない、それは文字列だけになる – FosterZ

+0

05/APR/2012は常に' Date() 'の文字列表現なので、適切な' DateFormat'を使用する – powerMicha

答えて

7

第三者APIは必要ありません。DateFormatを使用すると、日付形式のパターンを指定して日付を解析/書式設定することができます。サンプルコードは次のようになります。

Date date = new Date(); 
DateFormat df = new SimpleDateFormat("dd/MMM/yyyy"); 
String formattedDate = df.format(date); 

System.out.println(formattedDate.toUpperCase()); 

Demo run here.

+0

と同じです。 – Vipul

+0

出力はStringオブジェクトです。Dateオブジェクトが必要です... – Vipul

+0

@Vipul WTH出力オブジェクトを日付にしますか?すべての非プリミティブ型オブジェクトはout.printメソッドによって文字列に変換されるので、 –

0

私は彼が()のSystem.out.printlnで日付を使用したいと思いますので、我々はDateクラスとオーバーライドのtoString()を拡張してみてください。ここで

コードです:

import java.util.Date; 


class date extends Date { 

    int mm,dd,yy; 
    date() 
    { 

     Date d = new Date(); 
     System.out.println(d); 
     mm=d.getMonth(); 
     dd=d.getDate(); 
     yy=d.getYear(); 

    } 

    public String toString() 
    { Integer m2=new Integer(mm); 
    Integer m3=new Integer(dd); 
    Integer m4=new Integer(yy); 
     String s=m2.toString() + "/"+ m3.toString() + "/" + m4.toString(); 

     return s; 
    } 


} 

public class mai 
{ 
public static void main(String... args) 
{ 

    date d=new date(); 
    System.out.println(d); 

} 

} 
+0

あなたの返信のためのtns .... – Vipul

+0

私はデータベースに挿入しなければならなかった日付出力。 私はformateed Date ouptutをDate型の生年月日フィールドを持ち、データベースに挿入するPojoオブジェクトに設定する必要があります。 私はそれをStringに設定できます。しかし、pojoには依存関係の問題があります。 – Vipul

+0

dd/MMM/yyyy形式のDateオブジェクトと文字列ではありません。 – Vipul

1

答える前に、私は他の人がOPが実際にデータベース・オブジェクトを表現するためのPOJOを使用していることをお知らせします、彼のPOJOの一つは、Date型のフィールドが含まれています。そして、彼は日付がオーラの形式であることを望んでいますが、それはDateオブジェクトのままです。

Date databaseDate=new MyDate(); 
// initialize date to required value. 

今databaseDate:

(OPさんのコメントhereから)あなたはちょうどあなたがあなたのDateオブジェクトを初期化し、あなたのPOJOで、その後、Dateクラスを拡張し、public String toString();

public class MyDate extends Date 
{ 
    @Override 
    public String toString() 
    { 
     DateFormat df = new SimpleDateFormat("dd/MMM/yyyy"); 
     String formattedDate = df.format(this); 
     return formattedDate; 
    } 
} 

を上書きし、する必要がありますDateオブジェクトですが、必要な場所に必要なフォーマットを提供します。

EDIT:データベースはプログラミング言語のデータ型とは関係ありません。 POJOをデータベースに挿入すると、すべての値が文字列に変換されます。また、オブジェクトが文字列に変換される方法は、そのクラスのtoStringメソッドで定義されます。

関連する問題