在js中对json格式的日期、时间等内容进行格式化

本文介绍如何在SSM框架中利用Ajax获取后台的Json数据,并在前端JavaScript中处理日期时间格式。通过示例代码展示了数据获取及格式化的具体实现。

先在前台通过ajax获取后台的json数据,

js代码:

$.ajax({
            url:"getScheduleTableByEmployeeId",
            data:{"employeeId":employeeId},
            dataType:"json",
            type:"post",
            async:false,
            success:function(table){}

后台java代码:

@ResponseBody
    @RequestMapping(value="getScheduleTableByEmployeeId",produces="application/json;charset=UTF-8")
    public String GetScheduleTableByEmployeeId(String employeeId){

        JSONArray scheduleTable=scheduleservice.getScheduleTableByEmployeeId(employeeId);

        return scheduleTable.toString();
    }

框架是ssm框架,所以要在对应的controller上使用相应的注解。返回的json参数要使用tostring方法转换成json字符串类型。

因为mybatis所sql配置中,设置的返回参数类型是对象,对象中封装的日期时间类型都是date。

对这些数据的处理可以在前台进行页可以在后台进行,本次是在js中对传回的参数进行处理。

首先jsonarray返回的json字符串是按数组的类型进行存储的,即取对应的数据要通过json[]来遍历,遍历的方法与数组遍历方法相同,使用for循环遍历。

例:

String StrData="[
{\"name\":\"zhangsan\"},
{\"age\":\"18\"}
]";

通过strdata[0]获得第一个对象。strdata[0].name取得第一个对象的name值。

同样的早js中采用相同的方法遍历jsonarray,

function jsonDateFormat(jsonDate) {//json日期格式转换为正常格式

        var year = jsonDate.year+1900;
        var month = jsonDate.month+1;
        var day = jsonDate.date;
        month=(month>9)?(""+month):("0"+month);  //如果得到的数字小于9要在前面加'0'
        day=(day>9)?(""+day):("0"+day);
        return year + "-" + month + "-" + day;

    }

    function jsonTimeFormat(jsonTime){

        var hour=jsonTime.hours;
        var minute=jsonTime.minutes;
        hour=(hour>9)?(""+hour):("0"+hour);
        minute=(minute>9)?(""+minute):("0"+minute);

        return hour+":"+minute;
    }

取到所需要的时间数据后,在通过上面的两个函数分别对日期和时间进行格式化,因为在java中date类型的参数年份是从1900年算起,例如今年是2017年,就以117来存储。月份默认从0开始,所以在格式化的时候要+1;
需要注意的是,在日期的格式化中,jsonDate.date得到的才是当前日期,而jsonDate.day获得的是星期。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值