Json日期转换误差
2015-06-15 15:15
477 查看
说起来也挺惭愧的,这次写感想距离上一次写相差一年半之久。说起来也不知道自己在忙些什么,
不讲废话,今天说一下我的一次做JSon数据转换的时候出现的日期怎么处理都不正确的问题。
法宝:
Date.prototype.format = function(fmt){
var o = {
"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+)/.test(fmt))
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("("+ k +")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
return fmt;
}
eg:
后端平台:
obj=new Entity{
ID=53,
ActivityName="sss",
ActivityState="false",
StartTime=DateTime.Parse("2015-6-5")
}
JsonConvert.SerializeObject(obj);
而在前台页面中接受到的数据格式如下:
var rtn={
"ID": 53,
"ActivityName": "sss",
"ActivityState": false,
"StartTime": "/Date(1433433600000+0800)/",
}
日期转换的方法:
var data=eval('(' + rtn+ ')');
var sst = new Date(parseInt(data.StartTime.replace("/Date(", "").replace(")/", ""), 10));
var nowStr = sst.format("yyyy-MM-dd");//这个地方就可以调用各种你想要的日期格式啦
不讲废话,今天说一下我的一次做JSon数据转换的时候出现的日期怎么处理都不正确的问题。
法宝:
Date.prototype.format = function(fmt){
var o = {
"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+)/.test(fmt))
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("("+ k +")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
return fmt;
}
eg:
后端平台:
obj=new Entity{
ID=53,
ActivityName="sss",
ActivityState="false",
StartTime=DateTime.Parse("2015-6-5")
}
JsonConvert.SerializeObject(obj);
而在前台页面中接受到的数据格式如下:
var rtn={
"ID": 53,
"ActivityName": "sss",
"ActivityState": false,
"StartTime": "/Date(1433433600000+0800)/",
}
日期转换的方法:
var data=eval('(' + rtn+ ')');
var sst = new Date(parseInt(data.StartTime.replace("/Date(", "").replace(")/", ""), 10));
var nowStr = sst.format("yyyy-MM-dd");//这个地方就可以调用各种你想要的日期格式啦
相关文章推荐
- 57 js 背景图片以及背景色
- JavaScript 常用互动方法
- Javascript模块化编程(一):模块的写法
- JS类库函数收集中....
- extjs
- [Mozilla]AJAX快速入门
- JS——事件
- js 放置位置
- JS中setTimeout()的用法详解
- js 数据函数
- js-graph-it的一个小demo
- Javascript所有数组方法(forEach,some,every,join,concat等等)
- JavaScript自动生成博文目录导航
- JavaScript更多内容
- HTML CSS JS(一)
- JS----Device.js 检测设备平台,操作系统的javascript
- 【原生js】js面向对象三大特征之继承笔记
- 简述JavaScript中正则表达式的使用方法
- JS函数arguments数组获得实际传参数个数
- 简介JavaScript中用于处理正切的Math.tan()方法