2016-04-22 2 views
-3

希望のjoda時間LocalDateタイプをmmddyyyフォーマットにフォーマットしようとしていますが、問題が発生しており、処理方法がわかりません。私はこれまでにいくつかの異なることを試して、運がなかった。Joda Time LocalDateをMMddyyyyにフォーマットする

私は04-15-2016のような日付を取って、LocalDateの形式を04152016の形式で取得したいと思っていますが、それでも文字列ではなくLocalDate形式である必要があります。

DateTimeFormatter dtf = DateTimeFormat.forPattern("MMddyyyy"); 
LocalDate currentDate = LocalDate.parse("04152016", dtf); 
System.out.println(currentDate); 

日付は2016-04-15となります。誰かが私を助けることができれば、私はそれを高く評価するでしょう。おそらく私はJoda Timeライブラリについて何か基本的なものを見逃しています。

ありがとうございます。

+3

わかりません。 'DateTimeFormatter'を使って' currentDate'をフォーマットしてみませんか? – Savior

+5

'LocalDate'はフォーマットを持たないことを理解する必要があります。これはその状態の一部ではありません。特定の形式のテキストに変換する場合は、 'DateTimeFormatter'を使用します。 –

答えて

0

long,doubleDateおよびのようなデータ型は、値であり、表示方法の好みの形式は格納されません。

特定の方法で表示する場合は、フォーマッタを使用して文字列に変換し、文字列にはフォーマットがありますが、値は決して使用されません(デフォルトのフォーマットは組み込まれていません)

+0

それを行う方法も示すなら、私の+1を得るでしょう。 – Andreas

+0

@Andreasは特にどのようなことを示していますか? –

+0

LocalDateを希望のフォーマットで印刷する方法を示します。 'System.out.println(dtf.print(currentDate));' – Andreas

1

あなたの現在の日付は、ある瞬間を表します。あなたはフランス人が理解できるように、あるいはインドの人など、その瞬間を印刷することができます。

まず、Joda documentationをご覧ください。特に、あなたが

currentTime.toString("MMddyyyy"); 

を印刷し、それを適応させることができそれとも、あなたのフォーマッタを再利用し、Jon Skeet's answer(コメントで引用)を採用できエントリー

String b = dt.toString("dd:MM:yy"); 

を参照してください。

System.out.println(dtf.print(currentDate)); 
関連する問題