qtjson转换时间格式怎么操作?具体方法讲解

阳光 2021-01-07 16:52:42 java常见问答 5660

其实学习java要学的知识还是很多的,像qtjson转换时间格式作为程序员也是要熟悉运用的,那么qtjson转换时间格式该怎么操作?下面我们就给大家用实例演示一下。

通常JSON时间一般是这样的格式。

/Date(1436595149269)/

通常我们用AJAX获取下来的JSON数据,如果有时间,都是这种格式的。其中,中间的一段数字"1436595149269"表示的是1970年1月1日至今的毫秒数。

这种时间格式并不能够直接显示给用户查看,因为这是人类所看不懂的时间。所以我们需要将它转换为正常人能够理解的时间格式。

第一步,替换掉/Date()/

//对外暴露的函数,替换掉/Date( )/function convertTime(jsonTime, format) {
var date = new Date(parseInt(jsonTime.replace("/Date(", "")
    .replace(")/", ""), 10));
var formatDate = date.format(format);
return formatDate;
}

第二步,将数字时间转换为可视化的yyyy-MM-dd HH:mm:ss的格式

//先扩展一下javascript的Date类型,增加一个函数,用于返回我们想要的 yyyy-MM-dd HH:mm:ss 这种时间格式
Date.prototype.format = function (format)
{
    var date = {
        "M+": this.getMonth() + 1
        , "d+": this.getDate()
        , "h+": this.getHours()
        , "m+": this.getMinutes()
        , "s+": this.getSeconds()
        , "q+": Math.floor((this.getMonth() + 3) / 3)
        , "S+": this.getMilliseconds()
    };
    if (/(y+)/i.test(format))
    {
        format = format.replace(RegExp.$1, (this.getFullYear() + '')
            .substr(4 - RegExp.$1.length));
    }
    for (var k in date)
    {
        if (new RegExp("(" + k + ")")
            .test(format))
        {
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? date[k] : ("00" + date[k])
                .substr(("" + date[k])
                    .length));
        }
    }
    return format;
}

调用示例

$(function ()
{
    var dt = '/Date(1436595149269)/';
    var formatTime1 = convertTime(dt, "yyyy-MM-dd hh:mm:ss"); //2015-07-11 14:12:29
    $("#div1")
        .text(formatTime1);
    var formatTime2 = convertTime(dt, "yyyy年MM月dd日 hh时mm分ss秒"); //2015年07月11日 14时12分29秒
    $("#div2")
        .text(formatTime2);
})

另外,还有一个方式,这个就不需要改原来Date原型了。

<!doctype html>
<html>
<head>
    <title>JSON时间格式化(/Date()转换为yyyy-MM-dd HH:mm:ss)</title>
</head>
<body>
<script>
//yyyy-MM-dd HH:mm:SS
function getDateTime(date) {
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var day = date.getDate();
    var hh = date.getHours();
    var mm = date.getMinutes();
    var ss = date.getSeconds();
    return year + "-" + month + "-" + day + " " + hh + ":" + mm + ":" + ss;
}
//调用的是这个方法
function ConvertJSONDateToJSDate(jsondate) {
    var date = new Date(parseInt(jsondate.replace("/Date(", "").replace(")/", ""), 10));
    return date;
}
var date = "/Date(1379944571737)/";
alert(getDateTime(ConvertJSONDateToJSDate(date)));
</script>
</body>
</html>

qtjson转换时间格式就是以上这样操作的,怎么样?是不是觉得很神奇!所以说,大家一定要好好学习java,为自己美好未来铺路!最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。

推荐阅读:

qtjson顺序不对如何解决?qJson的具体用法是什么?

java如何接收json数据?json的类型有哪些?

java实现json格式化怎么操作?格式化如何输出到控制台?