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

関連記事

  1. Java

    Java オブジェクト指向とは?初心者向けにわかりやすい概要!!

    オブジェクト指向の特徴は開発対象となるシステム化対象領域を、「モノ…

  2. Java

    Java入門・JDKのインストール方法(Windows編)

    ●Java 環境のセットアップ (Windows環境)Java…

  3. Java

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

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

  4. Java

    Java JREとJDKの違いと関係性は!?環境変数設定と確認までの手順解説!!

    そもそも、JREとJDKの違いを人に説明できますか?Javaのプロ…

  5. Java

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

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

コメント

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

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

Recommended Article

Pickup

  1. News

    Java 9のモジュール機能で何が変わるのか[JavaOne2017]
  2. Java

    Java JREとJDKの違いと関係性は!?環境変数設定と確認までの手順解説!!…
  3. News

    OracleからEclipseに開発主体が移ったJava EE
  4. Java

    Java クラスのインスタンス化・初期化とは?
  5. Java

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

Copyrighted Image