에 "dd/MM/yyyy HH : mm : ss"형식의 날짜 문자열을 구문 분석 할 수 없습니다 "dd/MM/yyyy HH : mm : ss"형식의 날짜 문자열을 구문 분석 할 수 없습니다 JODA LocalDateTime. java.lang.IllegalArgumentException가 :JODA LocalDateTime
내가 예외 아래에 무엇입니까 잘못된 형식 : "2017년 1월 1일 0시 30분 0초는" "/ 01/2017 0시 30분 0초"
에, 부정한다이 오류를 해결하는 데 도움을주십시오.
내 코드 아래 참조 :public void calculateTOUValues(Date startDate, Date eDate, ArrayList<Double> csvDataPerChannel) {
DateTimeFormatter format1 = DateTimeFormat.forPattern("dd/MM/yyyy HH:mm:ss");
SimpleDateFormat format01 = new SimpleDateFormat("dd/MM/yyyy");
String startDateString = format01.format(startDate) + " 00:30:00"; //concatenate 00:30:00
String endDateString = format01.format(eDate) + " 00:00:00"; //concatenate 00:00:00
LocalDateTime strDate = LocalDateTime.parse(startDateString); //exception encountered at this line of code
LocalDateTime endDate = LocalDateTime.parse(endDateString);
}
이 코드 실행에 예외 아래에 무엇입니까 :
출력 : {SEVERE : 널 (null) 예외 : IllegalArgumentException : 잘못된 형식 : "01/01/2017 00:30:00 "의 형식이"/ 01/2017 00:30:00 "인 경우 org.joda.time.format.DateTimeFormatter.parseLocalDateTime (DateTimeFormatter.java:854) at org.joda입니다. time.LocalDateTime.parse (LocalDateTime.java:168) at module1.TOUCalculatorCore.calculateTOUValues (TOUCalculatorCore.java:135) module1.LaunchTOUCalcTool.submitButtonActionPerformed (LaunchTOUCalcTool.java:807)에서 모듈 1에 에서 org.joda.time.LocalDateTime.parse (LocalDateTime.java:157). LaunchTOUCalcTool.access $ (900) 있는 javax.swing에서 javax.swing.AbstractButton.fireActionPerformed (AbstractButton.java:2022)에서 module1.LaunchTOUCalcTool $ 10.actionPerformed (LaunchTOUCalcTool.java:418) 에서 (LaunchTOUCalcTool.java:32) .AbstractButton $ Handler.actionPerformed (AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:402) 012 java.awt.Component.processMouseEvent에서 javax.swing.plaf.basic.BasicButtonListener.mouseReleased (BasicButtonListener.java:252) 에서 javax.swing.DefaultButtonModel.setPressed (DefaultButtonModel.java:259) (성분에 3,516,. java : 6533) at 에있는 javax.swing.JComponent.processMouseEvent (JComponent.java:3324) java.awt.Component.processEvent (Component.java:6298) at java.awt.Container.processEvent (Container.java : 2236) at 에있는 java.awt.Component.dispatchEventImpl (Component.java:4889) 에있는 java.awt.Container.dispatchEventImpl (Container.java:2294) java.awt.Component.dispatchEvent (Component.java:4711) 에 있습니다. java.awt.LightweightDispatch java.awt.Container의 java.awt.LightweightDispatcher.dispatchEvent에서 (Container.java:4466) 에서 er.retargetMouseEvent java.awt.LightweightDispatcher.processMouseEvent (Container.java:4525)에서 (Container.java:4888) .dispatchEventImpl (Container.java:2280) at 에있는 java.awt.Window.dispatchEventImpl (Window.java:2746) java.awt.Component.dispatchEvent (Component.java:4711) at java.awt.EventQueue.dispatchEventImpl (EventQueue.java:758) at java.awt.EventQueue.access $ 500 (EventQueue.java:97) at java.awt.EventQueue $ 3.run (EventQueue.java:709) at java.awt.EventQueue $ 3. run (EventQueue.java:703) at java.security.AccessController.doPrivileged (네이티브 메소드)에서 java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:80) at java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:90) at java.awt.EventQueue $ 4.run (EventQueue.java:731) at java.awt.EventQueue $ 4.run (EventQueue.java:729) at java. java.awt.EventDispatchThread에서 java.awt.EventQueue.dispatchEvent (EventQueue.java:728)에서 java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:80) 에서 (기본 방법) security.AccessController.doPrivileged .pumpOneEventForFilters java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:105)에서 java.awt.EventDispatchThread.pumpEventsForFilter (EventDispatchThread.java:116)에서 (EventDispatchThread.java:201) 0,123,516 java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:101) java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:93) java.awt.EventDispatchThread.run에서 에서 에서(EventDispatchThread.java:82) }
@thomas :)
감사했다. 기계는 아직 지적인 것이 아닙니다. –
예외를 살펴보십시오. 구문 분석하려는 값의 날짜와 시간 사이에는 공백이 없습니다. 이는 실제 코드가 표시된 코드와 같지 않다는 것을 의미합니다. [mcve]를 입력하십시오. –
또한, 시작 날짜와 종료 날짜가 이미 있고 * LocalDateTime 값을 원한다면 왜 포맷하고 파싱합니까? 불필요한 문자열 변환은 피해야합니다. –