多语言展示
当前在线:138今日阅读:175今日分享:29

Java导出出现“2014-12-12 12:23:21.0”怎么办

前段时间,我在修改项目中的bug时,遇到这样一个问题:数据库中有个字段是date类型,Java后台查询出来的结果形式是YYYY-MM-DD HH:MM:SS格式,如“2014-12-12 12:23:21”,但是在前台导出时这个却变成了“2014-12-12 12:23:21.0”,结果后面多了一个“.0”。后来,我也查询了好多资料,可是没有一个有关这方面的,随后我自己反复思考,找到了办法,具体办法参考以下:
工具/原料
1

MyEclipse10

2

JDK1.6

3

Tomcat7.0.x

4

截图工具

方法一:
1

第一步,这里,新建一个Java封装Card.java,为了举例说明,只放了两个属性创建时间和创建人,/** * 创建时间 */ private String createDate; /** * 创建人 */ private String createPerson;并且给这两个属性get和set方法,如下图所示:

2

第二步,接着,新建一个Java接口CardDao.java,使用List集合创建一个方法public List findCards();如下图所示:

3

第三步,然后,创建一个类,继承CardDao接口public class CardDaoImpl implements CardDao {      public List findCards()  { List list = new ArrayList(); StringBuilder sql = new StringBuilder(); sql.append('select '); sql.append('to_char(create_date,'YYYY-MM-DD HH24:MI:SS') as create_date '); sql.append('from t_card_info '); return list; }}如下图所示:

方法二:
1

第一步,在承接方法一中的第三步,不用将字段“create_date”格式化,而是在查询结果时截取

2

第二步,封装查询结果时,直接获取除了“.0”之外的字符串Card card = null; card.setCreateDate(list.get(0).toString().substring(0, 18));如下图所示:

3

第三步,的确,这种方法可以得到所需要的格式,不过前提是,查询出来的结果形式必须是所需要的;如果不是,也得转换成需要的格式

注意事项
1

第一种方法需要明确知道时间格式为24小时制

2

第二种方法在封装结果前,将该结果转换成需要的时间格式

推荐信息