处理java和数据库时间数据的办法
在编程中,我们经常被java和数据库(mysql,oracle等)的时间格式所困扰,以下给出较为合理的解决方法:
注:示例代码建立在SSH集成环境下,若代码环境不同,只需稍作修改即可,核心内容不变.
方法一 :
1.Entity.java
private String mydate;
public String getMydate() {
return mydate;
}
public void setMydate(String mydate) {
this.mydate = mydate;
}
2.Entity.hbm.xml
<property name="mydate" type="java.lang.String">
<column name="MYDATE" length="30" />
</property>
3.Oracle
Columns,mydate,type = VARCHAR2(30)
4.EntityDaoImpl
public void addEntity(Entity entity) {
Date date = new Date();
String strDate = DateFormat.getDateInstance(DateFormat.DEFAULT).format(date);
entity.setMydate(strDate);
this.getHibernateTemplate().save(entity);
}
5.listEntity.jsp
<c:forEach var="e" items="${elist}">
<td>
${e.mydate}
</td>
</c:forEach>
页面输出:2016-10-9
方法二 :
1.Entity.java
import java.util.Date
private Date mydate;
public Date getMydate() {
return mydate;
}
public void setMydate(Date mydate) {
this.mydate = mydate;
}
2.Entity.hbm.xml
<property name="mydate" type="java.util.Date">
<column name="MYDATE" length="30" />
</property>
3.Oracle
Columns,mydate,type = DATE
4.EntityDaoImpl
public void addEntity(Entity entity) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String strDate = format.format(date);
Date formatDate = new Date();
try {
formatDate = format.parse(strDate);
} catch (ParseException e) {
e.printStackTrace();
}
entity.setMydate(formatDate);
this.getHibernateTemplate().save(entity);
}
5.listEntity.jsp
<c:forEach var="e" items="${elist}">
<td>
${e.mydate}
</td>
</c:forEach>
页面输出:2016-10-09 23:53:49.0
方法三 : 由 @VolJin 提供
window.οnlοad=function CurrentTime(){
var now = new Date();
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var hh = now.getHours(); //时
var mm = now.getMinutes(); //分
var clock = year + "-";
if(month < 10){
clock += "0";
}
clock += month + "-";
if(day < 10){
clock += "0";
}
clock += day + " ";
if(hh < 10){
clock += "0";
}
clock += hh + ":";
if (mm < 10){
clock += '0';
}
clock += mm;
document.getElementById("billtime").value=clock;
}