2013-09-01 3 views
1

문자열 타임 스탬프를 정수로 변환하려고하는데 DB로 postgres를 사용하고 있습니다.java.lang.NumberFormatException : 입력 문자열의 경우 :

@Column(name = "connecte_timestamp") 
private Integer timestamp; 

SimpleDateFormat formater = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss"); 
Date aujourdhui = new Date(); 
this.timestamp = Integer.parseInt(formater.format(aujourdhui) 
       .replace("-", "").replace(" ", "").replace(":", "")); 

타임 스탬프는 DB에 typebigint 있습니다. 자바에서 java.lang.NumberFormatException.forInputString (알 수없는 소스)에서 "01092013062024" :

java.lang.NumberFormatException의 : 입력 문자열에 대한 내 응용 프로그램을 실행하면 , 나는 다음과 같은 스택 추적을 얻을. lang.Integer.parseInt (알 수없는 소스) at com.forum.beans.Connecte. (Connecte.java:26) 에 java.lang.Integer.parseInt (알 수없는 소스) com.forum.servlets.ListageForums.doGet (ListageForums.java:32) at 에있는 javax.servlet.http.HttpServlet.service (HttpServlet.java:621) javax.servlet.http.HttpServlet.service (HttpServlet.java:728) at org.apac he.catalina.core.ApplicationFilterChain.internalDoFilter org.apache.catalina.filters.SetCharacterEncodingFilter에서 org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210) 에서 (ApplicationFilterChain.java:305) . org.apache.catalina.core.ApplicationFilterChain.doFilter에서 doFilter org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:243)에서 (SetCharacterEncodingFilter.java:108) (ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContex org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java에서 tValve.invoke org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:472)에서 (StandardContextValve.java:123) : 171 org.apache에서 org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:953 AT) org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:99에서 ) ) .catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:408) at org.a org.apache.tomcat.util.net에서 org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process (AbstractProtocol.java:589) 에서 pache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.java:1008) . JIoEndpoint $ SocketProcessor.run (JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor.runWorker (알 수없는 소스) at java.util.concurrent.ThreadPoolExecutor $ Worker.run (알 수없는 소스) at java.lang. Thread.run (알 수없는 출처)

어떤 도움을 주실 수 있습니까?

답변

5

1092013062024가 int의 경우 long 대신 너무 큽니다.나는 또한 다른

private Long timestamp; 

SimpleDateFormat formater = new SimpleDateFormat("yyyyMMddhhmmss"); 
timestamp = Long.parseLong(formater.format(new Date)); 

내가 YYYYMMDDHHMMSS 형식보다 논리적 인 생각

, 그것은을 비교하여 간단한

정렬 그것을 조금 할 것
관련 문제