JS处理json日期格式化问题

 更新时间:2015年10月01日 08:38:39   投稿:mrr  
这篇文章主要介绍了JS处理json日期格式化问题的相关资料,需要的朋友可以参考下

起因

对于从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);

相关文章

  • jquery插件bootstrapValidator数据验证详解

    jquery插件bootstrapValidator数据验证详解

    这篇文章主要为大家详细介绍了jquery插件bootstrapValidator数据验证使用教程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • js抽奖实现随机抽奖代码效果

    js抽奖实现随机抽奖代码效果

    这篇文章主要介绍了js随机抽奖代码效果,大家参考使用
    2013-12-12
  • 替换json对象中的key最佳方案

    替换json对象中的key最佳方案

    本文给大家介绍如何替换json对象中的key,通过实例代码给大家介绍key的替换方法,代码也很简单,需要的朋友参考下吧
    2021-06-06
  • 深入理解requestAnimationFrame的动画循环

    深入理解requestAnimationFrame的动画循环

    这篇文章先给大家介绍了什么是requestAnimationFrame,而后才深入讲述关于requestAnimationFrame的动画循环,文章介绍的非常详细,相信对大家学习requestAnimationFrame具有一定的参考借鉴价值,有需要的朋友下面来一起看看吧。
    2016-09-09
  • javascript中数组和字符串的方法对比

    javascript中数组和字符串的方法对比

    下面小编就为大家带来一篇javascript中数组和字符串的方法对比。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • JS实现密码框效果

    JS实现密码框效果

    这篇文章主要为大家详细介绍了JS实现密码框效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • javascript利用canvas实现鼠标拖拽功能

    javascript利用canvas实现鼠标拖拽功能

    这篇文章主要为大家详细介绍了javascript利用canvas实现鼠标拖拽功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • 简述JavaScript提交表单的方式 (Using JavaScript Submit Form)

    简述JavaScript提交表单的方式 (Using JavaScript Submit Form)

    这篇文章主要介绍了简述JavaScript提交表单的方式 (Using JavaScript Submit Form)的相关资料,需要的朋友可以参考下
    2016-03-03
  • JS实现向表格中动态添加行的方法

    JS实现向表格中动态添加行的方法

    这篇文章主要介绍了JS实现向表格中动态添加行的方法,涉及javascript针对表格行的动态添加技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • GitHub上一些实用的JavaScript的文件压缩解压缩库推荐

    GitHub上一些实用的JavaScript的文件压缩解压缩库推荐

    这篇文章主要介绍了GitHub上一些实用的JavaScript的文件压缩解压缩库推荐,推荐的这几个都是支持zip格式的,需要的朋友可以参考下
    2016-03-03

最新评论