文字列

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

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

Java yyyyMMddからyyyy/MM/ddへ変換して日付判定する方法次のページ

ピックアップ記事

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

関連記事

  1. 文字列

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

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

  2. 日付・時刻

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

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

  3. 文字列

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

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

  4. 文字列

    Java String型の文字列をint型の数値に変換する方法を解説

    こちらの記事でString型の文字列をint型の数値に変換する方法を応…

  5. 文字列

    Java yyyyMMddからyyyy/MM/ddへ変換して日付判定する方法

    データベースから日付情報A(char長8)の文字列を取得して日付の判定…

コメント

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

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

Recommended Article

Pickup

  1. JSP

    Java JSPの基礎
  2. News

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

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

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

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

Copyrighted Image