ホームページ >Java >&#&チュートリアル >SimpleDateFormat が「解析できない日付」をスローするのはなぜですか?
問題:
SimpleDateFormat を使用する場合日付を解析しようとすると、エラーが発生する可能性があります「java.text.ParseException: 解析できない日付」、特にロケールが指定されていない場合。
説明:
SimpleDateFormat では、日付を正しく解析するためにロケールが必要です。何も指定されていない場合は、システムのデフォルトのロケールが使用され、解析される形式と一致しない可能性があります。
常にlocale:
SimpleDateFormat dtfmt = new SimpleDateFormat("dd MMM yyyy hh:mm a", Locale.ENGLISH);最新の DateTimeFormatter API を使用します。
注:
import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Locale; public class Main { public static void main(String[] args) { String strDateTime = "24 Oct 2016 7:31 pm"; DateTimeFormatter dtf = DateTimeFormatter.ofPattern("d MMM uuuu h:m a").withLocale(Locale.ENGLISH); LocalDateTime ldt = LocalDateTime.parse(strDateTime, dtf); System.out.println(ldt); // prints 2016-10-24T19:31 } }
デフォルトDateTimeFormatter で指定された locale
以上がSimpleDateFormat が「解析できない日付」をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。