【Java入門】String型と日付型(Date型)を変換(SQLのDate型も解説)

中沢 丈
書いた人 中沢 丈
侍エンジニア塾ブログは、未経験からWebアプリ開発と仕事獲得をサポートする
侍エンジニア塾のオウンドメディアです。
プログラミング学習を覗き見

こんにちは!エンジニアの中沢です。

Javaには日付を扱うDate型があります。

この記事では、String型と日付型(Date型)の変換方法について

・Date型とは
・文字列を日付型(Date型)に変換する方法
・Date型をString型に変換する方法

という基本的な内容から、

・String型からSQLのDate型に変換する方法

などの応用的な使い方に関しても解説していきます。

今回はString型と日付型(Date型)の変換方法について、使い方をわかりやすく解説します!

Dateクラスとは

Dateクラス日時を取得したり、日時を計算するときに使用する日付型のクラスです。

Dateクラスを使用するには「java.util.Date」をインポートする必要があります。

Dateクラスを使うことで、日付に関する様々な処理を行うことができます。

文字列を日付型(Date型)に変換する方法

初めに文字列を日付型(Date型)に変換する方法を解説します。

文字列を日付型(Date型)に変換するにはSimpleDateFormatを使って、文字列のフォーマットを指定する必要があります。

例えば、文字列が“2017/03/02”ならフォーマットは“yyyy/MM/dd”となります。

時間を含む文字列の場合も同じように、“2017-03-02 01:23:45”ならフォーマットは“yyyy-MM-dd hh:mm:ss”となります。

このとき、月のフォーマットは大文字”M”で、分は小文字”m”であることに注意してください。

また、フォーマットが間違っているとParseExceptionの例外が発生するので気をつけてください。

フォーマットの指定ができたらparseメソッドを使ってDate型に変換します。

文字列を日付型(Date型)に変換する方法を覚えるために次のプログラムを見てみましょう。

実行結果:

ここではSimpleDateFormatを使ってフォーマットを指定した後に、parseメソッドでDate型に変換した内容を表示しています。

また、parseメソッドは例外処理が必要なため、try-catch文を使用しています。

SimpleDateFormatで日付のフォーマットを指定する方法についてはこちらの記事で詳しく解説しているので、ぜひ確認してください。

Date型をString型に変換する方法

次にDate型をString型に変換する方法を解説します。

Date型をString型に変換する場合はSimpleDateFormatで変換したいフォーマットを指定して、formatメソッドで変換します。

次のプログラムで確認してみましょう。

実行結果:

ここでは日付の区切りを”-”にしてString型に変換しています。

String型からSQLのDate型に変換する方法

最後にString型からSQLのDate型に変換する方法を解説します。

日付の文字列をSQLのDate型の”yyyy-mm-dd”の形式に合わせて用意して、valueOfメソッドを使用するとString型からSQLのDate型に変換する事ができます。

ここではSQLのデータ型を使用するため、java.sql.Dateクラスをimportしてください。

次のプログラムで確認してみましょう。

実行結果:

これでString型からSQLのDate型に変換することができました!

Dateクラスの使い方総まとめ

Dateクラスのさまざまな使い方については、以下の記事にまとめていますので、ぜひ参考にしてくださいね!

Calendarクラスの使い方総まとめ

Calendarクラスは、現在の年月日を取得したり、指定した日時の設定や加算・減算、日時を比較するなど、日時を扱うさまざまな処理が可能なクラスです。

Calendarクラスの使い方はこちらの記事で詳しく解説しているので、ぜひ確認してください。

DateTimeクラスの使い方

DateTimeクラスは、日付を扱うときによく使用するCalendarクラスを、より扱いやすくしたライブラリです。

DateTimeクラスの使い方はこちらの記事で詳しく解説しているので、ぜひ確認してください。

データ型の範囲などを一覧で確認したい方へ

ここではDate型についてみてきましたが、よく使われるデータ型の範囲などを一覧で確認したい場合は、以下の記事にまとめていますので、ぜひ参考にしてくださいね!

まとめ

ここではString型と日付型(Date型)とSQLの日付型の変換方法について解説しました。

変換のフォーマットの指定を間違えると例外が発生するので注意してくださいね。

もし日付型(Date型)の変換方法を忘れてしまったらこの記事を確認してください!

Javaカリキュラム無料公開中!
この記事はJava入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】の一部になります。このカリキュラムは、プログラミング入門者が、基礎学習からアプリ開発、さらには仕事獲得まで体系的に学べる内容となっています。

Java学習に必要な情報を一つにまとめていますので効率よくJavaを学ぶことが出来ます。この機会に是非活用していただければと思います。


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーランスをされている市川友哉さん。33歳で、プログラミングを学び始め、4ヶ月という短い期間でフリーランスエンジニアとして独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


最短でJavaを習得したい方へ

もし、あなたが、

「難しすぎて学習が全然進まない」
「学習量が膨大でゴールが見えない」
「エラーを解決するのに何日もかかってしまう」

など、プログラミング学習やキャリアに関してお困りであれば、まずは『無料体験レッスン』にお申し込み下さい。

あなたにとって、最適の解決策をご提案させていただきます。

詳しくは下の画像から詳しいサービス内容をご確認ください。

cta_bannar-java2

非常識な結果を出した卒業生

活躍する現役エンジニア

人気記事セレクション

LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

中沢 丈

中沢 丈

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
[email protected]