Java で日付を文字列に変換する方法
Mohammad Irfan
2023年10月12日
-
Java の
SimpleDateFormat
を用いてDate
を文字列に変換する -
Java の
DateFormatUtils
クラスを使ってDate
をString
に変換する -
Java の
DateTimeFormatter
を用いてDate
を文字列に変換する -
Java でタイムゾーンを指定して
Date
を文字列に変換する -
Java の
String
クラスを用いてDate
を文字列に変換する
このチュートリアルでは、Java で日付を文字列に変換する方法と、それを理解するためのコード例を紹介します。
Java には、SimpleDateFormat
、DateFormatUtils
、DateTimeFormatter
クラスなど、日付を文字列に変換するのに役立つクラスやメソッドがいくつか用意されています。
Java の SimpleDateFormat
を用いて Date
を文字列に変換する
ここでは、SimpleDateFormat
クラスの format()
メソッドを用いて、Java の util.Date
オブジェクトから文字列を取得します。
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) throws ParseException {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date = new Date();
String dateToStr = dateFormat.format(date);
System.out.println("Date is " + dateToStr);
}
}
出力:
Date is 21/09/2020 08:48:01
Java の DateFormatUtils
クラスを使って Date
を String
に変換する
Apache
ライブラリを使用している場合は、DateFormateUtils
クラスの format()
メソッドを使用してください。Java で java.util.Date
を文字列に変換して文字列を返します。
import java.text.ParseException;
import java.util.Date;
import org.apache.commons.lang3.time.DateFormatUtils;
public class SimpleTesting {
public static void main(String[] args) throws ParseException {
Date date = new Date();
String dateToStr = DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:SS");
System.out.println("Date is " + dateToStr);
}
}
出力:
Date is 2020-09-21 08:51:203
Java の DateTimeFormatter
を用いて Date
を文字列に変換する
ここでは、ofPattern()
メソッドを引数にとり、日付を文字列で表現したものを返す format()
メソッドを用います。以下の例を参照してください。
import java.text.ParseException;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) throws ParseException {
Date date = new Date();
String dateToStr =
date.toInstant().atOffset(ZoneOffset.UTC).format(DateTimeFormatter.ofPattern("dd-MM-yyyy"));
System.out.println("Date is " + dateToStr);
}
}
出力:
Date is 21-09-2020
Java でタイムゾーンを指定して Date
を文字列に変換する
ここでは、DateTimeFormatter
クラスの format()
メソッドを用いて、java.util.date
から変換後の文字列を取得します。これは、ofPattern()
メソッドで日付と時刻の書式を指定しているためです。
import java.text.ParseException;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) throws ParseException {
Date date = new Date();
DateTimeFormatter format =
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS Z").withZone(ZoneId.systemDefault());
String dateToStr = format.format(date.toInstant());
System.out.println("Date is " + dateToStr);
}
}
出力:
Date is 2020-09-21 09:10:23:991 +0530
Java の String
クラスを用いて Date
を文字列に変換する
これは、java.util.date
オブジェクトの文字列を取得する最も簡単な方法の一つです。ここでは、指定されたフォーマットに基づいて日付をフォーマットする String
クラスの format()
メソッドを利用します。以下の例を参照してください。
import java.text.ParseException;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) throws ParseException {
Date date = new Date();
String dateToStr = String.format("%1$tY-%1$tm-%1$td", date);
System.out.println("Date is " + dateToStr);
}
}
出力:
Date is 2020-09-21
関連記事 - Java String
- Java で 16 進文字列のバイト配列を変換する方法
- Java で文字列から部分文字列を削除する方法
- Java で文字列から文字列配列への変換を実行する方法
- Java 文字列をバイトに変換する方法
- Java でランダムな文字列を生成する
- Java のスワップメソッド