Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.NumberFormatException:对于输入字符串:_Java_Hibernate_Postgresql_Types_Number Formatting - Fatal编程技术网

java.lang.NumberFormatException:对于输入字符串:

java.lang.NumberFormatException:对于输入字符串:,java,hibernate,postgresql,types,number-formatting,Java,Hibernate,Postgresql,Types,Number Formatting,我试图将字符串时间戳转换为整数时间戳,并使用postgres作为DB @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.form

我试图将字符串时间戳转换为整数时间戳,并使用postgres作为DB

@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(":", ""));
时间戳在数据库中具有
bigint
作为一个。 当我运行我的应用程序时,我得到以下堆栈跟踪:

java.lang.NumberFormatException:用于输入字符串:“01092013062024” 位于java.lang.NumberFormatException.forInputString(未知源) java.lang.Integer.parseInt(未知源代码)位于 java.lang.Integer.parseInt(未知源代码)位于 Connecte.(Connecte.java:26)位于 com.forum.servlets.ListageForums.doGet(ListageForums.java:32)位于 http.HttpServlet.service(HttpServlet.java:621)位于 http.HttpServlet.service(HttpServlet.java:728)位于 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源) 位于java.lang.Thread.run(未知源)


有什么帮助吗?

1092013062024对于
int
来说太大了,请改用
long
。我也会做一些不同的事情

private Long timestamp;

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

我认为yyyyMMddhhmmss格式更符合逻辑,它使比较和排序变得简单

1092013062024对于
int
使用
long
来说太大了。我也会做一些不同的事情

private Long timestamp;

SimpleDateFormat formater = new SimpleDateFormat("yyyyMMddhhmmss");
timestamp = Long.parseLong(formater.format(new Date));
我认为YYYYMMDDHMMSS格式更符合逻辑,它使比较和排序更简单