年、月、日曜日、または年、月、日曜日、時、分、秒の時間の順序など、特定の習慣に従って時間を出力したい場合があります。
Java の初期には、 java.text パッケージの DateFormat のサブクラスであるSimpleDateFormatが、より便利なFormatter クラスを提供するために使用されていました。 Formatter クラスのフォーマット メソッドは次のとおりです。
format (フォーマットモード、日付リスト)
「フォーマットモード」に従い、「日付リスト」に記載されている各日付に含まれるデータ(年、月、日、時など)を文字列表現で返します。
現在、Java では format メソッドが String クラスの静的メソッドになっているため、プログラムは String クラスを直接使用して format メソッドを呼び出し、日付をフォーマットできます。
format メソッドの「format モード」は、二重引用符で囲まれた文字列、つまり文字列です。この文字列内の文字は、時刻形式文字と通常の文字で構成されます。
例: 日付の %ty、%tm、%td: %ty-%tm-%td は、最初の 2 つの中国語文字 (「日」と「ピリオド」)、コロンおよびフォーマット文字の間の文字です。接続文字「-」はすべて通常の文字です。平たく言えば、時刻形式の文字ではないものはすべて通常の文字とみなされます。
たとえば、書式文字 %ty、%tm、%td はそれぞれ日付の「年」、「月」、「日」を表します。
format メソッドによって返される文字列は、「フォーマット モード」の時刻フォーマット文字が、取得したフォーマットされた結果で置き換えられた後の文字列です。次に例を示します。
Strings=String.format(%tY 年 %tm 月 %td 日, newDate(), newDate(), newDate());
format メソッドの「日付リスト」には、カンマ区切りのCalendar オブジェクトまたはDate オブジェクトを指定できます。
フォーマットメソッドの「フォーマットモード」のフォーマット文字数が、「日付リスト」にリストされている日付の数と同じであることを確認する必要があります。
デフォルトでは、書式設定メソッドは、「書式設定モード」の書式文字を左から右の順に使用して、「日付リスト」内の対応する日付を書式設定しますが、「書式設定モード」の通常の文字は変更されません。
「日付リスト」で同じ日付を書式設定するために複数の書式記号を使用する場合は、「書式モード」で「<」を使用できます。例: %ty-%<tm-%< の 3 つの書式記号td は同じ日付をフォーマットします。つまり、「<」を含むフォーマット文字は、その前のフォーマット文字と同じ日付をフォーマットします。次に例を示します。
Strings=String.format(%tyyear%<tmmonth%<tdday,newDate());
一般的に使用される日付形式の文字: