2016-06-19 2 views
-7

現在の日付を取得しようとしています。 "yyyy/MM/dd"。私はこれを達成するために次のコードを書いています。フォーマット後SimpleDateFormatが指定されていない日付の書式を設定しています

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd", Locale.US); 
    Calendar cal = Calendar.getInstance(); 

     String dateStr = dateFormat.format(cal.getTime()); 
     currentDate= dateFormat.parse(dateStr); 

現在の日付の値プロセスは、この

Mon Jun 20 00:00:00 GMT+05:00 2016された後、

dateStrの値は2016/06/20

親切に私はここで間違ってやっているものを私を案内しています。

+3

'/'を '-'に置き換えますか? – SJuan76

+3

そして 'dd'と' MM'を交換しますか? – Tunaki

+2

「MM」は月を意味し、「20」は私が知っているカレンダーでは有効な月ではありません。あなたが実際にやろうとしているのであれば、年月日の書式設定は*非常に奇妙です。 – Andreas

答えて

5

どのように動作するのか混乱しています。

DateFormat.formatDateをとり、それをStringに変換します。この文字列(コードにdateStr)は、希望の形式で日付を保持します。

DateFormat.parseは、Stringで、Dateに変換されます。 Dateオブジェクトは日付(より正確にはミリ秒)ですが、フォーマットはありません。結果のDateオブジェクトを印刷すると、toString()の実装を使用して印刷されます。これはMon Jun...文字列です。しかし、この値は、Dateインスタンスを生成したDateFormatにはまったく関係ありません。

+0

ありがとう、私はポイントを得た:) – Kirmani88

関連する問題