JS处理json日期格式化问题


Posted in Javascript onOctober 01, 2015

起因

对于从C#返回的日期字段,当进行JSON序列化后,在前台JS里显示的并不是真正的日期,这让我们感觉很不爽,我们不可能为了这东西,把所有日期字段都变成string吧,所以,找了一个JS的扩展方法,来实现这个功能

实现

function ChangeDateFormat(jsondate) {
  jsondate = jsondate.replace("/Date(", "").replace(")/", "");
  if (jsondate.indexOf("+") > 0) {
    jsondate = jsondate.substring(0, jsondate.indexOf("+"));
  }
  else if (jsondate.indexOf("-") > 0) {
    jsondate = jsondate.substring(0, jsondate.indexOf("-"));
  }

  var date = new Date(parseInt(jsondate, 10));
  var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
  var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();

  return date.getFullYear()
    + "年"
    + month
    + "月"
    + currentDate
    + "日"
    + " "
    + date.getHours()
    + ":"
    + date.getMinutes();
}
//调用:ChangeDateFormat(data[i].arrDate)

调用

$.ajax({
      type: "Get",
      textType: "json",
      url: "/UserInfo/GetUserWithdraw",
      data: { id: id },
      success: function (data) {
        var result = html.replace(reg, function (node, key) {
          return {
            'Money': data.Money,
            'AddTime': ChangeDateFormat(data.AddTime),
            'CashTime': data.CashTime
          }[key];
        });

        TsingdaTips.ask({ msg: result, show_btn: false, title: "提现申请详情" });//预计打款时间等于申请时音后的(5号或20号)
      }
    });

PS:返回的json时间如 /Date(1290371638000)/ 形式,怎样处理成 yyyy-MM-dd 这类格式

去掉/Date

直接格式化1290371638000

/**
* 时间对象的格式化;
*/
Date.prototype.format = function(format){
 /*
 * eg:format="YYYY-MM-dd hh:mm:ss";
 */
 var o = {
 "M+" : this.getMonth()+1, //month
 "d+" : this.getDate(),   //day
 "h+" : this.getHours(),  //hour
   "m+" : this.getMinutes(), //minute
   "s+" : this.getSeconds(), //second
   "q+" : Math.floor((this.getMonth()+3)/3), //quarter
   "S" : this.getMilliseconds() //millisecond
  }
 
  if(/(y+)/.test(format)) {
  format = format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
  }
 
  for(var k in o) {
  if(new RegExp("("+ k +")").test(format)) {
   format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
  }
  }
 return format;
}

使用方法:

var testDate = new Date();
var testStr = testDate.format("YYYY年MM月dd日hh小时mm分ss秒");
alert(testStr);
Javascript 相关文章推荐
jQuery ajax BUG:object doesn't support this property or method
Jul 06 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
Aug 03 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
Aug 17 Javascript
js实现的彩色方块飞舞奇幻效果
Jan 27 Javascript
jQuery 生成svg矢量二维码
Aug 09 Javascript
浅谈js函数三种定义方式 &amp; 四种调用方式 &amp; 调用顺序
Feb 19 Javascript
Vue实现virtual-dom的原理简析
Jul 10 Javascript
对vue下点击事件传参和不传参的区别详解
Sep 15 Javascript
微信小程序http连接访问解决方案的示例
Nov 05 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
Apr 23 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
Sep 04 Javascript
three.js着色器材质的内置变量示例详解
Aug 16 Javascript
JS日期格式化之javascript Date format
Oct 01 #Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
Oct 01 #Javascript
RequireJS入门一之实现第一个例子
Sep 30 #Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
Sep 30 #Javascript
jquery插件pagination实现无刷新ajax分页
Sep 30 #Javascript
浅谈Javascript中substr和substring的区别
Sep 30 #Javascript
jQuery复制表单元素附源码分享效果演示
Sep 30 #Javascript
You might like
人族 Terran 魔法与科技
2020/03/14 星际争霸
深入解析PHP中的(伪)多线程与多进程
2013/07/01 PHP
php中JSON的使用与转换
2015/01/14 PHP
php检查是否是ajax请求的方法
2015/04/16 PHP
js下获取div中的数据的原理分析
2010/04/07 Javascript
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
jquery自定义类似$.ajax()的方法实现代码
2013/08/13 Javascript
javascript不可用的问题探究
2013/10/01 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
Javascript打印局部页面实例
2016/06/21 Javascript
纯js实现手风琴效果代码
2020/04/17 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
2018/01/18 jQuery
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
JavaScript中this函数使用实例解析
2020/02/21 Javascript
vue2.x数组劫持原理的实现
2020/04/19 Javascript
python类继承用法实例分析
2015/05/27 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
Python队列、进程间通信、线程案例
2019/10/25 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
python3中sys.argv的实例用法
2020/04/24 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
大学生就业推荐信范文
2013/11/29 职场文书
幼儿园教研活动方案
2014/01/19 职场文书
《纸船和风筝》教学反思
2014/02/15 职场文书
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
《从现在开始》教学反思
2014/04/15 职场文书
小学生一分钟演讲稿
2014/08/26 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
检讨书怎么写
2015/01/23 职场文书
2015民办小学年度工作总结
2015/05/26 职场文书
MySQL update set 和 and的区别
2021/05/08 MySQL