Date类型转换

去年夏天做了一个非常正确的决定,加入JAVA大军并且通过自己的努力,目前刚刚入职,心里还有点小激动(因为我是零基础学习的,学历不高,能入职已经很高兴啦),目前入职两个月了,也开始接触项目了,现在我把我在工作中遇到的问题还有解决的方法做一下记录,方便有同样问题的同学可以做参考,自己也可以做知识积累。本人目前刚刚接触java,还是一个小白,如有不对的地方还请大神多多指导。好啦,废话不多说,进入今天的主题!
说起类型的转换,可以说是个很基础的知识了,但是学习的时候没有好好学,只有恶补了。项目的框架是用Spring+SpringMVC+Hibernate集成的,在controller和页面js中用到了时间类型的转换。
需要说明的是,之前在实体类中时间使用String类型,之后改成Date类型的就出现了类型转换的问题
一、在controller中,代码如下

@ResponseBody
@RequestMapping("/edit")
public Map edit(HttpServletRequest request){
        Map map = new HashMap();
        String id = request.getParameter("id");

        PrStrategicAgreement agreement = agreementService.get(id);
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
        String singTime = sf.format(agreement.getSignTime());
        map.put("data", singTime);


        map.put("agreement", agreementService.get(id));
        return map;

    }

通过SimpleDateFormat设置时间的显示格式,再通过format的方法进行时间的转换,最后放入map中,页面通过ajax进行赋值。

二、在页面中,代码如下
list页面是通过js注入的,所以需要在js里面做类型转换,我所遇到的问题是在list页面上时间一栏显示的是一行数字,问了别人才知道那是时间戳,没有看明白的请看下面图片

这里写图片描述

在list页面的js中的代码如下:

 var list = data.list.recordList;
               var index = data.list.indexNum;
               for ( var i in list) {
                   view+="<tr style=\"curosr: pointer\" >"
                        + "<td>"+index+++"</td>"
                        + "<td>"+[list[i].agreementName]+"</td>"
                        + "<td>"+[list[i].signTime]+"</td>"
                        view+="</td>"
                            + "<td>"+[list[i].coopBusinessArea]+"</td>"
                            + "<td>"+[list[i].cityArea]+"</td>"
                            + "<td>"+[list[i].contactUsername]+"</td>"

此时在页面上时间字段显示的是时间戳格式,所以需要进行转换,转换完的js代码

 var list = data.list.recordList;
               var index = data.list.indexNum;
               for ( var i in list) {
                   var time = list[i].signTime;
                   var myDate = new Date(time).toLocaleDateString();
                   view+="<tr style=\"curosr: pointer\" >"
                        + "<td>"+index+++"</td>"
                        + "<td>"+[list[i].agreementName]+"</td>"
                        + "<td>"+myDate+"</td>"
                        view+="</td>"
                            + "<td>"+[list[i].coopBusinessArea]+"</td>"
                            + "<td>"+[list[i].cityArea]+"</td>"
                            + "<td>"+[list[i].contactUsername]+"</td>"

首先声明变量time接收时间值,此时为number类型,通过new Date(time).toLocaleDateString();把类型进行转换,转换完效果

这里写图片描述

大功告成,这样在页面上显示的就是我需要的时间格式了。如果各位同学们还有更好的方法请留言多多交流。

第一次写技术分享博客,还请大家多多支持!我也会继续提高自己的技术水平,分享更多的心得!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值