JavaでStringをDateに変換する方法は何ですか?
Javaにおいて、StringをDateに変換する方法は通常、以下のいくつかがあります。
- SimpleDateFormatクラスを使用すると、StringをDateに変換するためにparse()メソッドを使用できます。日付のフォーマットパターンを提供する必要があり、そのパターンは文字列の日付形式を示します。例えば、
String dateString = "2022-01-01";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = format.parse(dateString);
- Java 8以降では、DateTimeFormatterクラスを使用して、StringをLocalDateに変換し、その後LocalDateのatStartOfDay()メソッドを使用してDateに変換することができます。例:
String dateString = "2022-01-01";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate localDate = LocalDate.parse(dateString, formatter);
Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
- DateFormatクラスを使用する(非常に古い方法であり、推奨されていません):DateFormatクラスのparse()メソッドを使用してStringをDateに変換することができます。例:
String dateString = "2022-01-01";
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = format.parse(dateString);
これらの方法の中で、文字列から日付に変換する場合は、SimpleDateFormatクラスまたはDateTimeFormatterクラスを使用することをお勧めします。これらのクラスは、より柔軟でスレッドセーフな方法を提供し、さらに多くの日付形式をサポートしています。