Javaプログラミング/Javaプログラミング関連情報

日時の表示、どうしてます?(2ページ目)

日時を扱うならDateクラス……なんて思っている人。Dateを直接扱うのはJavaではマナー違反。CalendarとDateFormatを使いましょう。

執筆者:掌田 津耶乃


DateFormatでフォーマット!

実際にgetTimeしたものを出力すると、表示が英語になってしまったかも知れません。printlnでの出力は、そのインスタンスのtoStringされた値がそのまま書き出されます。このため、日本語の環境でも英語で表示されてしまったりするのです。

日本語で、更にいえば「開発者が思った通りのフォーマットで」日時の値を表示するにはどうすればよいのでしょう。こうした場合には、java.textパッケージにあるDateFormatというクラスを利用するのが基本です。これは文字通り日時の値を決まった表示形式にフォーマットするためのクラスです。これも実際には、DateFormatを継承して作られたSimpleDateFormatというクラスを利用します。
import java.util.*;
import java.text.*;

public class Sample {

       public static void main(String[] args){
              GregorianCalendar cal1 = new GregorianCalendar();
              SimpleDateFormat fmt1 = new SimpleDateFormat(
                     "yyyy年 M月 d日 (E)");
              System.out.println(fmt1.format(cal1.getTime()));
       }
}

リストを実行すると、DateのString値が表示される。


これが、SimpleDateFormatを使って現在の日付を出力するようにしたサンプルです。SimpleDateFormatは、newする際に引数にフォーマットの形式をStringで指定することができます。こうすることで、自分で思い通りの表示フォーマットを用意できるわけです。そして、Dateインスタンスを引数に指定してformatメソッドを呼び出せば、そのDateの日時をフォーマットしたStringが得られるのですね。

GregorianCalendarとSimpleDateFormat、どちらも長ったらしい名前で「どうも難しそうだ」と敬遠しているビギナーも多いことでしょう。が、この2つは日時の値を表示するためには必須のものです。基本的な使い方だけでも頭に入れておきたいですね。

Javadocリファレンス

GregorianCalendarクラス
SimpleDateFormatクラス
【編集部おすすめの購入サイト】
楽天市場で Java 関連の書籍を見るAmazon で Java 関連の書籍を見る
  • 前のページへ
  • 1
  • 2
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

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