其实学习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工具网。
推荐阅读: