【Java入門】日付情報を取得出来るCalendarクラスを理解しよう!
  • facebookページ
  • twitterページ
  • 2019.10.01

    【Java入門】日付情報を取得出来るCalendarクラスを理解しよう!

    現在日時を始めとした日付情報の取得は、プログラミングを行なっていく上で必ず利用する頻出処理の1つです。

    各プログラミング言語に日付情報を取得するための機能は用意されており、JavaにおいてはCalendarクラスを利用することが可能です。

    本記事では、初心者の方向けにJavaで提供されているCalendarクラスの概要から基本的な使い方について、サンプルコードをまじえてご紹介していきたいと思います。

    Java Calendarクラスで何が出来るのか?

    JavaにはCalendarクラスという日付の処理を行うクラスが提供されています。

    従来はDateクラスで日付関連の処理を行うことが一般的でしたが、より便利に使いやすくしたものがCalendarクラスとして提供されています。

    Calendarクラスでは日付の取得・計算・比較などが可能

    JavaのCalendarクラスでは、値を保持しておくためのフィールド値として年月日はもちろん、時間を表す値も提供されています。

    現在日時の取得はもちろん様々な計算処理や比較を行えるメソッドも提供されており、基本的な日付関連の処理はCalendarクラスのみでカバーすることが可能となっています。

    Java Calendarクラスの基本的な使い方

    ここからは実際にサンプルコードをまじえてJava Calendarクラスの基本的な使い方をご紹介していきたいと思います。

    まずはCalendarクラスのインスタンスを取得する

    JavaのCalendarクラスでは一般的なクラスで用いられるような「new演算子」ではなく、「getInstanceメソッド」を利用することでインスタンスを取得します。

    getメソッドを利用して日付情報を取得する

    Calendarクラスのインスタンスを取得した後は、様々なメソッドを利用して日付関連の実装が可能です。

    中でも特に頻繁に利用することになるのが日付情報を取得する「getメソッド」でしょう。

    まずgetメソッドの基本構文をご紹介します。

    getメソッドの引数として設定する「int field」には下記のような定数が提供されています。

    全ての定数はインスタンスが保持している情報から該当のフィールド情報を取得します。

    Calendarクラスの定数
    • Calendar.YEAR(「年」の情報を取得)
    • Calendar.MONTH(「月」の情報を取得)
    • Calendar.DATE(「日」の情報を取得)
    • Calendar.HOUR(午前または午後の「時間」の情報を取得)
    • Calendar.MINUTE(「分」の情報を取得)
    • Calendar.SECOND(「秒」の情報を取得)
    • Calendar.SECOND(「秒」の情報を取得)

    上記は日付を取得する際に頻繁に利用される定数ですが、これ以外にも様々な定数が提供されています。

    必要な場合は、Java公式のCalendarクラスの情報を参照するようにしましょう。

    実際にCalendarクラスのgetメソッドを利用したサンプルは下記のようになります。

    サンプルコードを実行するとCalendarクラスのインスタンスが作成された年月日が表示される仕組みとなっています。

    Calendar.MONTHは0から11までで表記されるため、1月〜12月で換算する場合にはサンプルのように「1」月分加算する必要があります。

    addメソッドを利用して日時情報を計算する

    getメソッドの次に利用する機会が多いメソッドとしては「addメソッド」と言えるのではないでしょうか。

    サンプルコードを用いて簡単に使い方をご紹介していきたいと思います。

    getメソッドのサンプルコードを基本に下記の1行を追加しています。

    こちらのコードは現在日付に第二引数で指定した「10」日を足した日付、つまり10日後の日付を求めるという内容を意味します。

    ここで注意して頂きたいのは、addメソッドはあくまでインスタンスの「フィールド値」を変更する処理であるため、画面上などに変更したい値を表示する場合にはgetメソッドを利用する必要があるということです。

    サンプルコードを実行した結果は下記となります。

    さいごに

    本記事では、日付情報を取得するために利用出来るJavaのCalendarクラスについてご紹介してきました。

    システムを開発する上で、日付関連の処理は頻繁に利用されるため、ぜひ抑えておきたい知識の1つです。

    今回ご紹介した内容は基本的な部分のみとなりますが、応用していくことで様々な日付関連の処理が実現可能となります。

    ぜひご自身の携わる開発でCalendarクラスをうまく使いこなしてみてください。


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料25万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE

    ポテパンおすすめ案件