Java에서 객체의 형식을 날짜로 지정할 수 없습니다.
Java에서 DateFormat.format 메서드를 사용하여 특정 객체의 형식을 날짜로 지정하려고 할 때 , 다음 예외가 발생할 수 있습니다.
java.lang.IllegalArgumentException: Cannot format given Object as a Date
이 오류는 형식을 지정하려는 개체가 Date 인스턴스가 아닐 때 발생합니다. 귀하의 경우 "mm/yyyy" 패턴으로 구성된 SimpleDateFormat 인스턴스를 사용하여 문자열("2012-11-17T00:00:00.000-05:00")을 날짜 형식으로 지정하려고 합니다.
해결책
이 문제를 해결하려면 두 개의 SimpleDateFormat 객체를 사용해야 합니다. 하나는 입력 문자열을 Date 인스턴스로 구문 분석하기 위한 것이고 다른 하나는 결과 Date를 원하는 형식으로 형식화하기 위한 것입니다.
<code class="java">import java.text.SimpleDateFormat; import java.util.Date; public class DateParser { public static void main(String args[]) { String monthYear = null; // Create input format to parse from "yyy-MM-dd'T'HH:mm:ss.SSSX" SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX"); // Create output format to format to "MM/yyyy" SimpleDateFormat outputFormat = new SimpleDateFormat("MM/yyyy"); String inputText = "2012-11-17T00:00:00.000-05:00"; try { // Parse the input string into a Date object Date date = inputFormat.parse(inputText); // Format the parsed Date into the desired format monthYear = outputFormat.format(date); System.out.println(monthYear); } catch (ParseException e) { System.err.println("Input string is not a valid date: " + e.getMessage()); } } }</code>
이 접근 방식은 구문 분석 작업과 형식 지정 작업을 분리하여 지정된 패턴을 사용하여 형식을 지정하기 전에 입력이 Date 인스턴스로 올바르게 변환되도록 합니다.
위 내용은 Java에서 \'객체를 날짜 형식으로 지정할 수 없습니다\' 예외를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!