2011-10-25 12 views
0

は、いくつかのトラブルを抱えて、迅速な答えを見つけることができません。..単純なJava日付変換

イム文字列内の日付を保存し、後日に戻ってそれを変換するためにそれを取得しようとしています。

使用して日付を格納するときしかし:

string tmp = new Date().toString(); 

をそして

Date date = new Date(tmp); 

を使用して、それをバックに変換しようとしている私は私のAndroid 2.2デバイスと例外の種類

java.lang.IllegalArgumentException 

を取得。 2.2 & 2.3 emus thoで動作します。

私は何か他の方法で保存したり変換したりするためのヒントを教えてください。

+0

[アンドロイドで日付形式]の可能複製(http://stackoverflow.com/questions/6898934/date-format-in-android) – evilone

答えて

3

SimpleDateFormatのメソッドは、parse()format()です。

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss.SSS"); 
String tmp = sdf.format(new Date()); 
Date date = sdf.parse(tmp); 
+0

! – Anders

+0

この回答はどのようにしてhttp://stackoverflow.com/questions/6898934/date-format-in-androidに追加されますか? – evilone

+0

@eviloneそれは同じ質問ではありません。もし私がその答えを見て、その答えが例えばスレッドセーフでない性質を含む 'SimpleDateFormat'についての詳細な説明を持っていたら、それにリンクしていることを確かめてください。私が投稿した瞬間に別の仲間が私にそれを打つのを3分も見たとしても、私は答えを削除したでしょう。とにかく、それはちょうど質問だった、誰もが怒る必要はありません:-) [重複した回答は許容されますか?](http://meta.stackexchange.com/q/51347/169503)、[重複した回答を扱う? ](http://meta.stackexchange.com/q/1096/169503)。 –

2

文字列にする必要がありますか?長いが簡単です:)

long time = new Date().getTime(); 

Date date = new Date(time); 

を行い、その後、あなたはいけない」以下に示すように

+0

私はそれをビルドしたので、それは文字列にしておきますが、チップに感謝します! – Anders

1
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); 

// to string 
String dateStr = formatter.format(new Date()); 

// to date 
Date date = formatter.parse(dateStr); 
+0

@XaviLópez何が問題なのですか? – evilone

+1

@XaviLópezあなたがあなたのものを追加したときに私は答えを書いたので、大したことは何ですか? – evilone

0

利用のSimpleDateFormatを解析する必要があります。トリック、感謝をした

SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd"); 

//this will convert date into string. 
String temp = formatter.format(currentDate.getTime()); 

//this will convert string into date format.  
Date date=(Date)formatter.parse(temp);