Javaプログラミング/Javaの基本

日時とカレンダー(5ページ目)

日時を扱う場合、Javaでは専用のクラスを利用します。その基本的な使い方を理解しておきましょう。

執筆者:掌田 津耶乃

フォーマットを指定する


さて、日時の値そのものの基本的な扱いはだいたいわかってきました。最後に、「日時の値を、あらかじめ指定した形式でフォーマットする」ということについて触れておきましょう。

日時の値は、そのままだと「Wed Feb 11 00:00:00 JST 2009」というような形式で表示されます。が、これではちょっと見づらいですね。もっとわかりやすい形で表示したいものです。これには、DateFormatというクラスが用意されています。これは日時をフォーマットするための機能を提供するものです。ただし、このクラス自体はベースとなる抽象クラスで、一般的にははこれを継承した「SimpleDateFormat」というクラスを利用します。

これは、表示フォーマットをテキストで指定し、それに従った形でDateをフォーマットすることができます。これも、簡単な例を挙げておきましょう。

package jp.allabout;

import java.util.*;
import java.text.*;

public class SampleApp {

  public static void main(String[] args) {
    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.YEAR, 2009);
    cal.set(Calendar.MONTH, 1);
    cal.set(Calendar.DATE, 11);
    
    SimpleDateFormat format = new SimpleDateFormat("y年M月d日(E)");
    System.out.println(format.format(cal.getTime()));
  }
  
}

プログラムを実行すると、今日の日付をフォーマットして表示する。

ここでは、「○○年○月○日(○)」といった形式で日付をフォーマットし、表示しています。まず、SimpleDateFormatインスタンスを用意しましょう。

SimpleDateFormat format = new SimpleDateFormat("y年M月d日(E)");

引数に、フォーマットの形式をテキストで指定します。フォーマット形式は、「パターン文字」と呼ばれる記号を組み合わせて作成します。これはSimpleDateFormatに用意されており、それを使って日時の個々の値を指定できます。

実際のフォーマットは、「format」メソッドで行います。これは引数に指定ししたDateインスタンスの日時をフォーマットし、Stringとして返します。パターンの作成と、formatの使い方さえわかれば、自由に日時の値をフォーマットして表示できるようになりますね。



※パターン作成用に用意されているパターン文字
G   紀元
y   年
M   月
w   年における週
W   月における週
D   年における日
d   月における日
F   月における曜日
E   曜日
a   午前/午後
H   一日における時 (0 ~ 23)
k   一日における時 (1 ~ 24)
K   午前/午後の時 (0 ~ 11)
h   午前/午後の時 (1 ~ 12)
m   分
s   秒
S   ミリ秒
z   タイムゾーン(一般的なタイムゾーン)
Z   タイムゾーン(RFC 822 タイムゾーン)
【編集部おすすめの購入サイト】
楽天市場で Java 関連の書籍を見るAmazon で Java 関連の書籍を見る
  • 前のページへ
  • 1
  • 3
  • 4
  • 5
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます