-4

この形式でシステムの現在の日付を取得するにはどうすればよいですかyyyy-MM-dd

これ欲しい

SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
String strDate = formatDate.format(now);
return strDate;

Dateの代わりに a を返しStringます。

どんな助けでも大歓迎です。

更新: その場合、文字列を日付に解析できますか?

4

4 に答える 4

7

システムの現在の日付をこの形式 yyyy-MM-dd で取得する方法はありますが、文字列ではなく日付を返します。

できません。Date「形式のあるもの」という概念がある以上、「形式のあるもの」というものはありませんintDate値は、関連付けられたテキスト形式、暦体系、またはタイム ゾーンを持たない、単なる特定の時点です。

を使用すると、現在の瞬間を表すオブジェクトnew Date()が取得されます。Dateそれをどのように使用するかはあなた次第ですが、メソッドから返す場合、関連付けられた日付はありません (日付はタイムゾーンによって異なるため)、形式などはありません。適切に使用するのは呼び出し元のコード次第です。

少なくともタイプを持つJoda Timeの使用を検討するLocalDateことをお勧めしますが、「現在の日付」について考えるときに使用するタイムゾーンを検討する必要があります。(そして、値に関連付けられたフォーマット情報はまだありません。)

編集:更新に答えるには、使用SimpleDateFormatして解析するだけです-しかし、文字列がどこから来たのかは明確ではありません。これは、質問の残りの部分とは反対の要件のように聞こえます。

于 2013-05-08T11:51:29.950 に答える
1

フォーマットを変更Dateして独自の CustomDate を作成することはできないため、これは単なる時間の表現です。

于 2013-05-08T11:53:45.873 に答える
-1

これが使えます.!!

String formatDate = new SimpleDateFormat("yyyy-MM-dd").format( yourDate);
于 2013-05-08T11:53:47.710 に答える