数据库表中是一个数据时long类型 ,在页面中显示要转换成date 类型 即 yyyy-MM-dd ,怎么转换呢?
解决方案 »
- Spring MVC 热部署的问题
- 怎样把139邮箱或者是qq邮箱连接到web项目中
- BigDecimal类型的数据怎么样累加 算总计。
- 会quartz的进,关于Job
- 请求一个在Hibernate里,用复合主键进行一对多关联的例子
- 高分求解(100),struts数据源的问题?
- 怎样在jsp页面中上传一个文件夹中的所有文件到服务器
- 这些错误是怎么回事呀??
- a 机器上的EJB如何部署到 b机器的Weblogic服务器上?
- 菜鸟请教各位仁兄:我在sessionbean里写了一个调用entitybean(Employee)的方法,如getEmployee(),返回值为Employy实体bean对象,编译环境
- Hibernate映射关系多对1,简单问题帮忙看看
- dwr2+tomcat5 invalid reply from server异常?????
resultSet.getTimestamp(1).getTime()); 中的值本来就是一个long, 经过这么一折腾,getTime() 不还是long型么?
而且我试过用 java.util.Date d = new java.util.Date() 了 不过 结果去成了1970年...
我现在用的jdk 1.4.2 可能是jdk的原因吧~~
An error occurred at line: 46 in the jsp file: /foruminfo.jsp
resultSet cannot be resolved
43: </td>
44: <td height=10 align="right" valign="bottom" class="gray-dashed">
45: <font style="font-size:12px;color:#353535">
46: <% Date d = new Date(resultSet.getTimestamp("dateline").getTime()) ;%>
47: [<%= d %>
48: </font>]
49: </td>
Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
at java.lang.Thread.run(Thread.java:619)
另外取时间,用java.sql.Date和java.sql.Timestamp,不是util包里面的。
默认的long在数据库中以s为单位,java中得到的貌似是ms.
在 SQL Server 中根本就没有这一类型!
本来开始我这也是直接一个varchar,可后来说,用pl/sql developer不能方便的排序改时间。。把varchar改回date。哎,各有各公司的要求啊
他大概说的是BIGINT 或者NUMBER那类的东西吧..
而 java 中是以毫秒为单位的
注意这一点,就可以正确转换了.摘自:http://www.discuz.net/viewthread.php?tid=658595
Date test = new Date(1272019114 * 1000);
System.out.println(test);
}这样的结果是 Fri Jan 09 12:53:14 CST 1970
public static String getDateTime(Date date, String pattern) {
SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
return dateFormat.format(date);
}然后获取的时候就这样调用一下:
while(rs.next()) {
String dateStr = getDateTime(new Date(rs.getLong("结果集的那个字段名称")),"YYYY-MM-DD");
......
}
此时得到的dateStr的格式就是YYYY-MM-DD,上面的静态方法建议放到UTIL类里面去,还有就是可能会出现空值异常自己根据实际情况转一下。
29楼思路是对的,不过格式错了,要求是"yyyy-MM-dd",另外加个非空判断比较好。
Date test = new Date(1272019114 * 1000);
System.out.println(test);
改成
Date test = new Date(1272019114000L);
System.out.println(test);
再试试看,具体原因自己想或查
//Date test = new Date(1272019114L * 1000);
SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd");
String test = date.format(new Date(1272019114L * 1000));
System.out.println(test);
}这次的结果就是我想要的了
2010-04-23