Java

Java String型とDate型の変換・Calendarの関係性

現場でも使用頻度が非常に高い
日付を扱ったソースについて解説していきたいと思います。

どんなプログラム開発にも日付は切っても切れない関係です。
また画面側に表示されなくてもバックエンドで
処理をしていることが非常に多いので
必ず現場でも必須になってくる部分だと思います。

まず日付を扱うクラスは大きく分けて3つに分類されます。

SPONSORED LINK

Dateクラス

  • Javaで時刻情報を取り扱う場合い標準的に利用される
  • java.util パッケージに属している
  • 内部にエボックからの経過ミリ秒数をlong値で保持している  
    ※エボックとは、基準時刻である1970年元日0時ちょうどのこと
  • newにて引数なしでインスタンス生成をすると、現在の日時情報が格納される
  • newにてlong値を引数として渡してインスタンス生成すると、指定時刻の情報が格納される
  • getTime()やsetTime()を用いて、インスタンス内にほあじするlong値を取得・設定できる

Calendarクラス

  • 「年・月・日・時・分・秒」などの各情報を取り扱うにはjava.util.Calendarを用いる
  • 「月」の情報を取得・設定する場合は1~12ではなく0~11で指定する
  • 指定した日時を設定でき計算や参照など利用できる範囲が広い

SimpleDateFomatクラス

  • Dateクラスが保持する日時情報を「2017/12/24」のように読みやすく変換するにはjava.text.SimpleDateFormatクラスを利用する

SPONSORED LINK


String型からDate型に変換する方法

※上の図に記載してある各クラスの関係性を参照

String型からDate型に変換する場合はSimpleDateFormatクラスを使用します。
SimpleDateFormatクラスは名前の通り、文字列のフォーマットを指定してparseメソッドでDate型に変換します。

String型からDate型に変換する方法①~try-catch~

String型からDate型に変換する方法②~throws ParseException~

実行結果

SimpleDateFormatを使ってフォーマットを指定した後に、parseメソッドでDate型に変換した内容です。
この場合、ParseExceptionが発生しますので例外処理が必要になってきます。

  • ①はtry-catchを使用
  • ②はスロー宣言の追加でthrows ParseExceptionを使用

SPONSORED LINK


Date型からString型に変換する方法

※上の図に記載してある各クラスの関係性を参照

String型からDate型に変換する場合は
SimpleDateFormatクラスを使用します。

SimpleDateFormatクラスは名前の通り、
文字列のフォーマットを指定してformatメソッドでString型に変換します。

Date型からString型に変換する方法①~try-catch~

Date型からString型に変換する方法②~throws ParseException~

実行結果

SimpleDateFormatを使ってフォーマットを指定した後に、
formatメソッドでString型に変換した内容です。

この場合も、String型→Date型の変換があり
ParseExceptionが発生しますので例外処理が必要になってきます。

  • ①はtry-catchを使用
  • ②はスロー宣言の追加でthrows ParseExceptionを使用


String型からSQLのDate型に変換する方法

String型からSQLのDate型に変換する場合は
”yyyy-mm-dd”のフォーマット形式を使用します。
その際、valueOfメソッドでDate型に変換します。

String型からSQLのDate型に変換する方法

実行結果

SPONSORED LINK


Calendarクラスの使い方

カレンダークラスは日付の操作、計算などを扱うクラスになっています。
クラスの名前の通りCalendarと同じように日付や曜日などが設定、参照できるクラスです。
Calendarは私達の私生活に溶け込んでいるので使いやすく理解もしやすいことが特徴です。

実行結果


Calendar型からString型(SimpleDateFormat型)に変換する方法

Calendarクラスのメソッドも数多くSimpleDateFormatクラスとの相性がとても良いです。
CalendarクラスのgetTimeメソッドは指定した書式のフォーマットで日時を取得できます。

実行結果

日付データの扱いは使用頻度が高くプログラムと切り離すことができません。
各パターンを習得すれば応用することもできます。

基本的な使い方とクラス、メソッドの詳細についても覚えておきましょう。

SPONSORED LINK

ピックアップ記事

  1. Java入門 JavaプラットフォームやJava言語の仕組み
  2. Java クラスのインスタンス化・初期化とは?
  3. Java 9が正式リリース

関連記事

  1. Java

    Eclipse Javaプロジェクトの作成と初期設定を解説!!ビルド(build)とは?

    Eclipseで初期設定が終わったらProjectを作成していきます。…

  2. Java

    Java オブジェクト指向の解説・ポリモフィズム(abstract)

    ポリモフィズムは多様性を意味します。傾斜によるメソッドのオーバーラ…

  3. Java

    Java 文字列を分割後(split)にリスト化(List)する方法も解説

    こちらの記事で文字列を分割後(split)にリスト化(List)する方…

  4. Java

    Java 2つのリストデータを結合して日付順/昇順/降順(Timestamp )にソートする方法を解…

    それぞれ別のSQLで取得したListを結合して昇順に並び替える方法を紹…

  5. Java

    Java ファイルやディレクトリの存在チェック(exists)とパターンを解説

    こちらの記事でファイルやディレクトリの存在チェック(exists)を応…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Recommended Article

Pickup

  1. Java

    Java プロパティファイルを使ってテキスト(txt)入力ファイルの読み込みとパ…
  2. News

    JVM上で動く動的言語Groovy、2018年のロードマップは
  3. Java

    Java String型とDate型の変換・Calendarの関係性
  4. Java

    Java 出力文字を英語や指定してた言語に変換する方法を解説
  5. Java

    Java プロパティファイル(property)の作成と読み込み、編集方法、配置…
PAGE TOP

Copyrighted Image