文字列

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

今の年収に満足していますか?



同じ契約金で業務委託していても

在籍している会社によって給料が違います。


今と同じスキル・業務内容でも

年収が変わるということです。


さらに以下を考慮すると

より年収アップにつながります。


  • スキルセットと需要
  • 経験と実績
  • 業界や地域の市場価値
  • 転職時の交渉スキル


転職先の企業の給与体系や

業界の標準的な給与水準を調査し、

転職前後の給与を比較することができます。


給与のみでなく、

福利厚生やキャリア成長の機会、

ワークライフバランスなどの要素も

総合的に考慮することが重要です。


こちらで転職・年収アップできました👇【エントリーは簡単30秒!】


【ITエンジニア特化LP】転職エージェント





ITエンジニアの知識を効率よく身につけるには?


Kindle Unlimitedは、Amazonが提供する

月額定額制の電子書籍サービスを活用します。


また、Kindle Unlimitedには、

体験版が提供されています。


体験版では、一定期間(通常は30日間)に限り、

Kindle Unlimitedのサービスを

無料で利用することができます。

1.豊富な書籍のラインナップ

Kindle Unlimitedには、

幅広いジャンルの書籍が

数十万冊以上含まれています。


小説、ビジネス書、自己啓発書、

学術書、漫画など、

様々なテーマや興味に合わせて

多彩な選択肢があります。


2.サービスの内容を体験

体験版では、Kindle Unlimitedの

全ての機能を使いながら、

豊富な書籍のラインナップや

読書体験を体験することができます。


自身の読書の好みや

利用頻度に合うかどうかを確認できます。


3.解約が可能

体験版期間中に

Kindle Unlimitedのサービスに

満足しなかった場合、

期限内に解約することができます。


その場合、追加料金はかかりません。



ここで利用できました👇【登録は簡単30秒!】


Kindle Unlimitedの無料体験を始める



Kindle Unlimitedでは

さまざまなジャンルの書籍が提供されています。


ITエンジニアとしてスキルを向上させたり

新しい技術を学んだりする際に、

Kindle Unlimitedは

便利な資源となるのでおすすめです。


SPONSORED LINK

Java クラスのインスタンス化・初期化とは?前のページ

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

ピックアップ記事

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

関連記事

  1. 文字列

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

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

  2. 文字列

    Java 6桁の数字YYYYMMから月の月末を計算してDate型に変換

    Javaで6桁の数字から月の月末を計算し、Date型に変換する方法…

  3. 文字列

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

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

コメント

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

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

CAPTCHA


Recommended Article

Pickup

  1. PostgreSQL

    SQL 6桁の数字YYYYMMから月の月末を計算してDate型に変換
  2. JSP

    Java JSPの概要と特徴を解説
  3. Class・Object

    Java オブジェクト指向の解説・継承
  4. 制御文

    Java Mapで空白でない値を新しいMapに詰め直し、全ての値が空白の場合は-…
  5. コマンド

    Linuxコマンド【rmdir】空の既存ディレクトリを削除するコマンド
PAGE TOP
Translate »

Copyrighted Image