文字列

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 クラスのインスタンス化・初期化とは?前のページ

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

ピックアップ記事

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

関連記事

  1. 文字列

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

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

  2. 文字列

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

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

  3. 文字列

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

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

  4. 文字列

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

    文字列を比較する際に使用するequalsメソッドについて解説し…

  5. 文字列

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

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

コメント

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

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

Recommended Article

Pickup

  1. News

    郵便番号・住所検索用開発ツール「Yubin7 for Java」
  2. Basic

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

    Eclipse 背景色を黒(ダーク)に設定する方法を解説!
  4. コマンド

    Linuxコマンド【cp】ファイルやディレクトリをコピーするコマンド
  5. IT learning

    Webコンテナ(サーブレットコンテナ)とWebサーバの違いやイメージを解説
PAGE TOP

Copyrighted Image