(1) Javaのprintfで日付の書式設定を行う方法
 (1-1) printfの基本構文
 (1-2) 時刻に関するフォーマット
 (1-3) 日付に関するフォーマット
(1) Javaのprintfで日付の書式設定を行う方法
(1-1) 構文
Javaの「printf」文を使う事で、様々なフォーマットを指定して文字列の書式を整える事ができます。
printfには引数が異なる2種類のメソッドがあります。
//① System.out.printf([フォーマット], [引数]); //② System.out.printf([ロケール], [フォーマット], [引数]);
違いはロケールの有無のみで、あとは同じです。各引数の意味は以下の通りです。
| [フォーマット] | 整形したい書式を指定します。 例:”X=%15f \n” | 
| [引数] | フォーマット(書式整形)を行う対象の文字列を指定します。 | 
(1-2) 時刻に関するフォーマット
時刻のフォーマットをする場合、printfの引数[フォーマット]には「%t」を与えます。これが「日時」に関するフォーマットをするという意味になります。
そして「%t」の後ろにサフィックス(後ろに付ける文字)を与えて「どのような整形をするか?」を指定します。
(表)時刻に関する代表的なサフィックス
| H | 「時」の抽出 | 
| M | 「分」の抽出 | 
| S | 「秒」の抽出 | 
| L | 時間をミリ秒で表示 | 
| N | 時間をナノ秒で表示 | 
| p | 「am/pm」の表示 | 
| z | タイムゾーンのオフセットを表示 | 
(サンプルプログラム)
一部、フォーマットの例をご紹介します。
import java.util.Date;
public class IT0234_PrintfTest3_1 {
    public static void main(String args[]) {
        //### Dateクラスのインスタンス化
        Date dt = new Date();
        //### 日時
        //時刻
        System.out.printf("%tT \n", dt);    //時刻
        System.out.printf("%tH \n", dt);    //時
        System.out.printf("%tM \n", dt);    //分
        System.out.printf("%tS \n", dt);    //秒
    }
}
(図121)

(1-3) 日付に関するフォーマット
日付のフォーマットをする場合も時刻と同様に、printfの引数[フォーマット]には「%t」を与えます。
そしてこちらも時刻同様「%t」の後ろにサフィックス(後ろに付ける文字)を与えて「どのような整形をするか?」を指定します。
(表)時刻に関する代表的なサフィックス
| A | 曜日(「X曜日」と表示 ) | 
| d | 日付(「XX月YY日」のYY部分のみ表示) | 
| B | 月(「XX月」と表示) | 
| m | 月(月の数字のみ) | 
| Y | 年 | 
| y | 年の下2桁(例:2020→20) | 
(サンプルプログラム)
一部、フォーマットの例をご紹介します。
import java.util.Date;
public class IT0234_PrintfTest3_2 {
    public static void main(String args[]) {
        //### Dateクラスのインスタンス化
        Date dt = new Date();
        //### 日時
        //年月日
        System.out.printf("%tA \n", dt);    //曜日(「X曜日」と表示 )
        System.out.printf("%td \n", dt);    //日付(「XX月YY日」のYY部分のみ表示)
        System.out.printf("%tB \n", dt);    //月(「XX月」と表示)
        System.out.printf("%tm \n", dt);    //月(月の数字のみ)
        System.out.printf("%tY \n", dt);    //年
        System.out.printf("%ty \n", dt);    //年の下2桁(例:2020→20)
    }
}
(図131)

>目次にもどる //****** プログラム用 ******//
//****** スクロール用 ******//
//****** 画像折りたたみ用 ******//
 
											 
											 
											 
											