欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ajax解析json数据时,date显示为秒的形式(问题解决)

程序员文章站 2022-07-08 14:03:23
一、问题描述: 在jsp页面上通过ajax解析json数据时,发现date类型的数据以秒的形式显示,也就是类似于1511352532000这样的格式。 二、分析: 15113...
一、问题描述:

在jsp页面上通过ajax解析json数据时,发现date类型的数据以秒的形式显示,也就是类似于1511352532000这样的格式。

二、分析:

1511352532000这样的格式是date类型数据的毫秒格式,这就说明是数据的显示格式的问题,由于后台是直接将查询到的对象转为json的,如下:

    @ResponseBody//获取包含了分页后的产品信息
    @RequestMapping(value = "/userSelect/paging", produces = "text/html;charset=UTF-8")
    public String userSelectPaging(String goPage, HttpSession session) {
        int page;
        if (goPage.equals(""))
            page = 0;
        else
            page = Integer.parseInt(goPage);
        Sort sort = new Sort(Sort.Direction.DESC, "createDate");
        Pageable pageable = new PageRequest(page, 10, sort);
        Page users = userService.findAll(pageable, session);
        return JSON.toJSONString(users, true);
    }
三、解决:

在jsp页面上写一个js函数,如下

 function fmtDate(inputTime) {
        var date = new Date(inputTime);
        var y = date.getFullYear();
        var m = date.getMonth() + 1;
        m = m < 10 ? ('0' + m) : m;
        var d = date.getDate();
        d = d < 10 ? ('0' + d) : d;
        var h = date.getHours();
        h = h < 10 ? ('0' + h) : h;
        var minute = date.getMinutes();
        var second = date.getSeconds();
        minute = minute < 10 ? ('0' + minute) : minute;
        second = second < 10 ? ('0' + second) : second;
        return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;
    }

在需要转换格式的地方直接调用该函数即可,别忘了要传入一个date类型的参数才行奥~~~

如下:

...
trObj += "" + fmtDate(page.content[i].createDate) + "";
...
四、结果展示: 前

ajax解析json数据时,date显示为秒的形式(问题解决)

ajax解析json数据时,date显示为秒的形式(问题解决)

五、写在最后: But are we all lost stars.Trying to light up the dark~