JSON时间转换格式化
2016-04-22 08:58
477 查看
通常JSON时间一般是这样的格式。
通常我们用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>
相关文章推荐
- javascript计算两个时间差
- JavaScript记录光标在编辑器中位置的实现方法
- JS学习笔记
- JS原型链
- 2-JavaScript基础
- 1-JavaScript简介
- Js面向(基于)对象编程
- javascript判断对象是否为空
- jstack命令
- JavaScript基础
- jstat命令
- JavaScript记录光标在编辑器中位置的实现方法
- js显示世界时间示例(包括世界各大城市)
- 动态加载JavaScript文件的两种方法
- IE和Firefox之间在JavaScript语法上的差异
- JavaScript中数组去除重复的三种方法
- JS实现的base64加密、md5加密及sha1加密详解
- JS简单循环遍历json数组的方法
- JS验证逗号隔开可以是中文字母数字
- 举例讲解如何判断JavaScript中对象的类型