Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Java

Javaのprintfで日付の書式設定を行う方法

投稿日:2021年1月22日 更新日:

<目次>

(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”
最初の「X=」は文字列で%の後ろの15が「桁数」を表しており、15桁に満たない場合は「右揃え」で左側を0埋めします。
15の後ろの「f」は「浮動小数点」のフォーマットである事を意味するため、引数には浮動小数点を与えます。また最後の「\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)

目次にもどる //****** プログラム用 ******//

 

//****** スクロール用 ******//

 

//****** 画像折りたたみ用 ******//

Adsense審査用広告コード


Adsense審査用広告コード


-Java

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

バイナリ―サーチとは?Javaのサンプルプログラムを用いて解説

<目次> (1) バイナリ―サーチとは?Javaのサンプルプログラムを用いて解説  (1-1) バイナリ―サーチのアルゴリズム  (1-2) バイナリ―サーチの性能(処理回数)  (1-3) バイナリ …

Spring Bootでpom.xmlに「Unknown error」が出た時の対処方法について

  <目次> (1) Spring Bootでpom.xmlに「Unknown error」が出た時の対処方法について  (1-1) 発生状況  (1-2) 原因  (1-3) 対処法①(非 …

TomcatでEclipseを使う際にserver.xmlを編集しても上書きされる事象の対処方法

<目次> (1) TomcatでEclipseを使う際にserver.xmlを編集しても上書きされる事象の対処方法  (1-1) 発生状況・エラーメッセージ  (1-2) 原因  (1-3) 対処法 …

Javaのthisとは?コンストラクタで引数を与えている場合・メソッド引数に使われる場合もご紹介

<目次> (1) Javaのthisとは?コンストラクタに出現する場合やメソッド引数に使われる場合もご紹介  (1-1) thisとは?  (1-2) 用途1:自分自身を指定【重要】  (1-3) 用 …

JVMの基本アーキテクチャと各サブシステム等の概要説明について

(0)目次&概説 (1) 記事の目的 (2) Javaのアーキテクチャ概要・概観 (3) JVMのアーキテクチャ概要  (3-1) JVMの概観  (3-2) JVMの主要サブシステム1:Class …

  • English (United States)
  • 日本語
Top