tl; dr
LocalDate.of( 2018 , Month.JANUARY , 23 )
.format( DateTimeFormatter.ofPattern( “uuuu-MM-EEE” , Locale.US ) )
java.time
最新のアプローチでは、java.timeクラスを使用します。
LocalDate ld = LocalDate.of( 2018 , Month.JANUARY , 23 ) ;
Locale
などを指定して、Locale.CANADA_FRENCH
その日の名前を翻訳するために使用される人間の言語を決定する方法に注意してください。
DateTimeFormatter f = DateTimeFormatter.ofPattern( “uuuu-MM-EEE” , Locale.US ) ;
String output = ld.format( f ) ;
ISO 8601
ちなみに、標準のISO 8601週番号体系に興味があるかもしれませんyyyy-Www-d
。
2018-W01-2
第1週は暦年の最初の木曜日です。週は月曜日に始まります。1年は52週間または53週間です。暦年の最後の/最初の数日は、次の/前の週に基づく年になる場合があります。
末尾の1桁は曜日で、月曜日から日曜日は1〜7です。
クラスのプロジェクトにThreeTen-Extraライブラリクラスを追加しますYearWeek
。
java.timeについて
java.timeのフレームワークは、Java 8に組み込まれており、後にされています。これらのクラスは面倒古い取って代わるレガシーのような日付時刻クラスjava.util.Date
、Calendar
&を、SimpleDateFormat
。
ジョダタイムプロジェクトは、今でメンテナンスモードへの移行をアドバイスjava.timeのクラス。
詳細については、Oracleチュートリアルを参照してください。スタックオーバーフローで多くの例と説明を検索してください。仕様はJSR 310です。
java.timeクラスはどこで入手できますか?
ThreeTen-エクストラプロジェクトでは、追加のクラスでjava.timeを拡張します。このプロジェクトは、java.timeに将来追加される可能性があることを証明する場です。あなたはここにいくつかの有用なクラスのような見つけることがInterval
、YearWeek
、YearQuarter
、および多くを。
dd
形式として使用するのはどうですか?