JS处理json日期格式化问题_javascript技巧

起因

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js_json_date格式化
js_json格式化
javascript格式化json、javascript日期格式化、fastjson日期格式化、json日期格式化、java json日期格式化,以便于您获取更多的相关知识。

时间: 2024-09-26 03:36:54

JS处理json日期格式化问题_javascript技巧的相关文章

浅谈JS中json数据的处理_javascript技巧

1. json数据结构(对象和数组) json对象:var obj = {"name":"xiao","age":12}; json数组:var objArray = [{"name":"xiao","age":12},{"name":"xiao","age":12}]; 2. 处理json数据,依赖文件有:jQuery.js

JS操作JSON要领详细总结_javascript技巧

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包. 本文主要是对JS操作JSON的要领做下总结. 在JSON中,有两种结构:对象和数组. 1. 一个对象以"{"(左括号)开始,"}"(右括号)结束.每个"名称"后跟

JS 日期验证正则附asp日期格式化函数_javascript技巧

javascript 日期验证正则 复制代码 代码如下: var pattern = /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)

js读写json文件实例代码_javascript技巧

本节为大家介绍下js如何读写json文件,代码很简练 function funSave() { var id = $('#testText1')[0].value; var name = $('#testText2')[0].value; var str = '{mydata:[' + '{id:' + id + ',name:' + name + '}' + ']}'; str = "{MyData:[{id:'" + id + "',name:'" + name

JS获取农历日期具体实例_javascript技巧

复制代码 代码如下: <script type="text/javascript">    var CalendarData = new Array(100);    var madd = new Array(12);    var tgString = "甲乙丙丁戊己庚辛壬癸";    var dzString = "子丑寅卯辰巳午未申酉戌亥";    var numString = "一二三四五六七八九十"; 

Javascript将JSON日期格式化_javascript技巧

以下是示例代码 第一种效果: ///无时分秒 function jsonDateFormat(jsonDate) {//json日期格式转换为正常格式 try { var date = new Date(parseInt(jsonDate.replace("/Date(", "").replace(")/", ""), 10)); var month = date.getMonth() + 1 < 10 ? "

JS获取及验证开始结束日期的方法_javascript技巧

本文实例讲述了JS获取及验证开始结束日期的方法.分享给大家供大家参考,具体如下: function validation() { var startdate=document.getElementById("start_tenancyDate_s").value; var enddate=document.getElementById("end_tenancyDate_s").value; var datesent=dateDiff(enddate,startdat

js获取当前日期时间及其它日期操作汇总_javascript技巧

本文实例为大家分享了javascript时间操作的使用常见场景,供大家参考,具体内容如下 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,

JS循环遍历JSON数据的方法_javascript技巧

JSON数据如:{"options":"[{/"text/":/"王家湾/",/"value/":/"9/"},{/"text/":/"李家湾/",/"valu e/":/"10/"},{/"text/":/"邵家湾/",/"value/":/"13