java.lang.NumberFormatException:对于输入字符串:
我试图将字符串时间戳转换为整数时间戳,并使用postgres作为DBjava.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
@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格式更符合逻辑,它使比较和排序更简单