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 相关文章推荐
javascript 匿名函数的理解(透彻版)
Jan 28 Javascript
JS设置获取cookies的方法
Jan 26 Javascript
JavaScript设计模式之适配器模式介绍
Dec 28 Javascript
JQuery查找DOM节点的方法
Jun 11 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
Aug 06 Javascript
使用JQuery实现的分页插件分享
Nov 05 Javascript
详解Document.Cookie
Dec 25 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
Dec 15 Javascript
jQuery实现的简单悬浮层功能完整实例
Jan 23 Javascript
关于laydate.js加载laydate.css路径错误问题解决
Dec 27 Javascript
微信、QQ、微博、Safari中使用js唤起App
Jan 24 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
Apr 29 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
PHP Switch 语句之学习笔记
2013/09/21 PHP
php中explode函数用法分析
2014/11/15 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
基础的WordPress插件制作教程
2015/11/24 PHP
PHP创建对象的六种方式实例总结
2019/06/27 PHP
Extjs入门之动态加载树代码
2010/04/09 Javascript
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
NodeJS使用jQuery选择器操作DOM
2015/02/13 NodeJs
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
JS异步文件分片断点上传的实现思路
2016/12/25 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
javascript 面向对象function详解及实例代码
2017/02/28 Javascript
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
2017/04/14 jQuery
vue2.0实现导航菜单切换效果
2017/05/08 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
JS实现获取进今年第几天是周几的方法分析
2018/06/27 Javascript
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
Python中的装饰器用法详解
2015/01/14 Python
一篇文章入门Python生态系统(Python新手入门指导)
2015/12/11 Python
python监控文件或目录变化
2016/06/07 Python
Python编写Windows Service服务程序
2018/01/04 Python
Python使用爬虫爬取静态网页图片的方法详解
2018/06/05 Python
jupyter notebook 中输出pyecharts图实例
2020/04/23 Python
Python MySQLdb 执行sql语句时的参数传递方式
2020/03/04 Python
使用html5 canvas绘制圆环动效
2019/06/03 HTML / CSS
周生生珠宝香港官网:Chow Sang Sang(香港及海外配送)
2019/09/05 全球购物
双方协议书
2014/04/22 职场文书
应届毕业生求职信范文
2014/07/07 职场文书
甘南现象心得体会
2014/09/11 职场文书
结婚老公保证书
2015/02/26 职场文书
新郎接新娘保证书
2015/05/08 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis
PHP RabbitMQ消息列队
2022/05/11 PHP