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 相关文章推荐
js 数组操作代码集锦
Apr 28 Javascript
javascript实现的距离现在多长时间后的一个格式化的日期
Oct 29 Javascript
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
Jan 12 Javascript
jQuery-Easyui 1.2 实现多层菜单效果的代码
Jan 13 Javascript
解析javascript 浏览器关闭事件
Jul 08 Javascript
了不起的node.js读书笔记之mongodb数据库交互
Dec 22 Javascript
js实现不提示直接关闭网页窗口
Mar 30 Javascript
Vue隐藏显示、只读实例代码
Jul 18 Javascript
使用js实现将后台传入的json数据放在前台显示
Aug 06 Javascript
js+springMVC 提交数组数据到后台的实例
Sep 21 Javascript
javascript canvas API内容整理
Feb 16 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
Sep 18 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
php trim 去除空字符的定义与语法介绍
2010/05/31 PHP
PHP转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
详解php几行代码实现CSV格式文件输出
2017/07/01 PHP
Laravel中unique和exists验证规则的优化详解
2018/01/28 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
PHP抽象类和接口用法实例详解
2019/07/20 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
js中的escape及unescape函数的php实现代码
2007/09/04 Javascript
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
JavaScript浏览器选项卡效果
2010/08/25 Javascript
JS实现图片预加载无需等待
2012/12/21 Javascript
固定网页背景图同时保持图片比例的思路代码
2013/08/15 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
原生JS实现图片左右轮播
2016/12/30 Javascript
vue开发调试神器vue-devtools使用详解
2017/07/13 Javascript
echarts饼图扇区添加点击事件的实例
2017/10/16 Javascript
jQuery+CSS实现的table表格行列转置功能示例
2018/01/08 jQuery
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
vue集成chart.js的实现方法
2019/08/20 Javascript
js实现简单点赞操作
2020/03/17 Javascript
Quasar Input:type=&quot;number&quot; 去掉上下小箭头 实现加减按钮样式功能
2020/04/09 Javascript
JS pushlet XMLAdapter适配器用法案例解析
2020/10/16 Javascript
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
Python matplotlib绘制饼状图功能示例
2019/09/10 Python
Python 寻找局部最高点的实现
2019/12/05 Python
Python找出列表中出现次数最多的元素三种方式
2020/02/24 Python
表单button的outline在firefox浏览器下的问题
2012/12/24 HTML / CSS
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
老教师工作总结的自我评价
2013/09/27 职场文书
女子职高个人自荐书
2014/02/01 职场文书
建筑横幅标语
2014/10/09 职场文书
行政文员岗位职责
2015/02/04 职场文书
保研推荐信格式
2015/03/25 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书