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相关用法分享
Mar 16 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
Jan 06 Javascript
js的[defer]和[async]属性
Nov 24 Javascript
javascript编写实用的省市选择器
Feb 12 Javascript
基于javascript实现图片滑动效果
May 07 Javascript
js实现显示手机号码效果
Mar 09 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
May 11 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
Sep 01 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
Oct 09 Javascript
浅析js实现网页截图的两种方式
Nov 01 Javascript
JavaScript命令模式原理与用法实例详解
Mar 10 Javascript
vue抽出组件并传值实例
Jul 31 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
德生PL660的电路分析和打磨
2021/03/02 无线电
php对大文件进行读取操作的实现代码
2013/01/23 PHP
浏览器解析js生成的html出现样式问题的解决方法
2012/04/16 Javascript
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
2014/06/16 Javascript
深入理解Javascript中this的作用域
2014/08/12 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
浅谈$('div a') 与$('div&gt;a')的区别
2016/07/18 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
数组Array的排序sort方法
2017/02/17 Javascript
JS去掉字符串中所有的逗号
2017/10/18 Javascript
微信小程序支付及退款流程详解
2017/11/30 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
javascript实现点击产生随机图形
2021/01/25 Javascript
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
详解Python装饰器由浅入深
2016/12/09 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
Python Django基础二之URL路由系统
2019/07/18 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
zooplus意大利:在线宠物商店
2019/08/07 全球购物
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
全球精选男装和家居用品:Article
2020/04/13 全球购物
金山毒霸系列的笔试题
2013/04/13 面试题
物流仓储实习自我鉴定
2013/09/25 职场文书
合作经营协议书范本
2014/09/16 职场文书
2014年共青团工作总结
2014/12/10 职场文书
小学中等生评语
2014/12/29 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
运动会跳远广播稿
2015/08/19 职场文书
使用CSS设置滚动条样式
2022/01/18 HTML / CSS