指定された日付を特定の形式に変換しようとすると、Java 開発者は次の例外に遭遇することがあります。 「java.lang.IllegalArgumentException: 指定されたオブジェクトを日付としてフォーマットできません。」このエラーは、サポートされていないオブジェクトを日付として書式設定しようとすると発生します。
この問題を解決するには、正しい書式設定戦略を使用する必要があります。 DateFormat.format メソッドは、Date オブジェクトを入力として受け入れます。この例では、入力値は Date オブジェクトではなく、日付を表す文字列です。
解決策は、2 つの別々の SimpleDateFormat オブジェクトを使用することです。1 つは入力文字列の解析用、もう 1 つは結果の書式設定用です。例:
// Define the output format (mm/yyyy for months and years)
DateFormat outputFormat = new SimpleDateFormat("mm/yyyy", Locale.US);
// Define the input format (yyyy-MM-dd'T'HH:mm:ss.SSSX)
DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US);
String inputText = "2012-11-17T00:00:00.000-05:00";
try {
// Parse the input string as a Date object
Date date = inputFormat.parse(inputText);
// Format the Date object using the desired format
String outputText = outputFormat.format(date);
} catch (ParseException e) {
// Handle parsing exceptions here
}
このアプローチに従うことで、「指定されたオブジェクトを日付としてフォーマットできません」エラーを回避しながら、日付を表す文字列を目的の形式に効果的に変換できます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3