2016-07-22T00 : 00 : 00.000-05 : 00의 시간 표현에 맞는 패턴으로 DateTimeFormatter 객체를 만들려고합니다. 위의 입력 문자열과 함께 DateTimeFormatter 클래스를 사용하여 DateTime 객체를 만들려고합니다.올바른 DateTimeFormatter 패턴을 만드는 방법
나는 아래의 표현의 많은 다른 버전을 시도했지만 현재 "-05 : 00"시간대 조각에 갇히지하고 내 JUnit 테스트 케이스에 오류를 받고 있어요 :
java.lang.IllegalArgumentException: Invalid format: "2016-07-22T00:00:00.000-05:00" is malformed at "-05:00"
내가 사용하고 현재 형식 패턴은 다음과 같습니다 나는 또한 시도
yyyy-MM-dd'T'HH:mm:ss.SSSZ
:
yyyy-MM-dd'T'HH:mm:ss.SSSTZD
yyyy-MM-dd'T'HH:mm:ss.SSSZZZ
yyyy-MM-dd'T'HH:mm:ss.SSSz
yyyy-MM-dd'T'HH:mm:ss.SSSzzz
yyyy-MM-dd'T'HH:mm:ss.SSS'TZD'
Java 7에서 실행 중이므로 문제가 발생하는지 확실하지 않습니다.
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
Date date = new Date();
System.out.println(sdf.format(date));
출력했다 : 나는이 코드를 테스트 한 https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
:
이 작동하지만 String 대신 끝나는 대신 DateTime 개체를 만들려고합니다. – user007