当尝试将给定日期转换为特定格式时,Java 开发人员可能会遇到异常: “java.lang.IllegalArgumentException:无法将给定对象格式化为日期。”当尝试将不受支持的对象格式化为日期时,会出现此错误。
要解决此问题,我们需要使用正确的格式化策略。 DateFormat.format 方法接受 Date 对象作为输入。在提供的示例中,输入值是表示日期的字符串,而不是 Date 对象。
解决方案是使用两个单独的 SimpleDateFormat 对象:一个用于解析输入字符串,另一个用于格式化结果。例如:
// 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