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

関連記事

  1. Java

    Java switch文の使い方とdefaultとbreakの役割と関係性を解説

    こちらの記事でswitch文の応用しています。Java Templ…

  2. Java

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

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

  3. Java

    Java StringBuilderの使い方・文字列の連結

    Java StringBuilderの使い方・文字列の連結2つ…

  4. Java

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

    こちらの記事でプロパティファイル(property)の使い方を応用して…

  5. Java

    Java 繰り返し処理の使い方-while文 do-while文 for文 拡張for文

    繰り返しの処理を行うこと(ループ)ができる繰り返し文を解説してきます。…

  6. Java

    Javaプログラムの作成とルール

    Java言語でルールに従って、テキストファイルに記述します。プログ…

コメント

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

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

Recommended Article

Pickup

  1. Java

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

    Java switch文の使い方とdefaultとbreakの役割と関係性を解説…
  3. Java

    Java 文字列をequalsで比較判定する方法
  4. Java

    Eclipse Java動作環境の構築とインストール
  5. Java

    Java入門 JavaプラットフォームやJava言語の仕組み
PAGE TOP

Copyrighted Image