查询出的列表Date日期转成String时间

太正常的一个需求了,半天查不到解决方案。想到几点

1. 在查询出来后用iterater遍历修改时间
但由于实体类中的time就是date类型,对于想重写入settime无法操作

Iterator<Archive> i=list.iterator();
SimpleDateFormat timeformat = new SimpleDateFormat("yyyy-MM-dd");
Archive archive;
while(i.hasNext()) {
archive=i.next();
archive.setTime(timeformat.format(archive.getTime()));//类型不符		 
}

此路不通

2.后端不管,在前端操作

<c:forEach items="${mylist}" var="datas">
<tr>                                                            
<td id="mytime">${datas.time }</td>
<td>${datas.status }</td>                               
 </tr>
</c:forEach>
 function GMTToStr(time){
    	var date = new Date(time);
        let Str=date.getFullYear() + '-' +
        (date.getMonth() + 1) + '-' + 
        date.getDate();
        return Str;
    }
var time=$("#mytime").text();
$("#mytime").html(time);

这样确实可以把date转换成正常的年月日,但只把foreach循环中的第一项转换成功,其他项还是格林威治时间;原因在于用id选择器选取的元素唯一,所以只有一项有效。那我把js代码插入foreach里?仍然行不通。不管foreach多少次,id选择的任然是列表第一项。
换成class选择器更是荒唐了,因为选取的是所有的项了,无法对应转换,结果为NaN。

此路不通

3.只能把时间换成String类型了。。。。
这样其实改动的代码不多,涉及到时间的操作并不多,无非是插入和覆盖,都与现在的时间有关;把现在的时间格式format一下就可以了。

 String Nowtime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());

这样不存在转换的问题了。。
以后不再用date类型了。手动狗头;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值