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 相关文章推荐
广告显示判断
Aug 31 Javascript
解决jquery异步按一定的时间间隔刷新问题
Dec 10 Javascript
js 自制滚动条的小例子
Mar 16 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
May 08 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
Mar 03 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
May 25 Javascript
JavaScript、C# URL编码、解码总结
Jan 21 Javascript
js实现瀑布流效果(自动生成新的内容)
Mar 16 Javascript
vue+element+Java实现批量删除功能
Apr 08 Javascript
layui中select,radio设置不生效的解决方法
Sep 05 Javascript
layui动态绑定事件的方法
Sep 20 Javascript
JS+canvas五子棋人机对战实现步骤详解
Jun 04 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
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
PHP实现微信申请退款功能
2018/10/01 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
js原生态函数中使用jQuery中的 $(this)无效的解决方法
2011/05/25 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
2014/06/05 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
JS传参及动态修改页面布局
2017/04/13 Javascript
ES6学习教程之对象的扩展详解
2017/05/02 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
详解js的作用域、预解析机制
2018/02/05 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
2018/12/04 jQuery
微信小程序嵌入腾讯视频源过程详解
2019/08/08 Javascript
python查找目录下指定扩展名的文件实例
2015/04/01 Python
在Python中使用cookielib和urllib2配合PyQuery抓取网页信息
2015/04/25 Python
通过Python实现自动填写调查问卷
2017/09/06 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
在Python中给Nan值更改为0的方法
2018/10/30 Python
解决python明明pip安装成功却找不到包的问题
2019/08/28 Python
基于keras中的回调函数用法说明
2020/06/17 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
2020/09/21 Python
HTML5图片预览实例分享
2014/06/04 HTML / CSS
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
比利时的在线灯具店:Lampen24.be
2019/07/01 全球购物
Kipling澳洲官网:购买凯浦林包包
2020/12/17 全球购物
转党组织关系介绍信
2014/01/08 职场文书
高三毕业典礼主持词
2014/03/27 职场文书
中学生英语演讲稿
2014/04/26 职场文书
保研推荐信格式
2015/03/25 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书
Python编程编写完善的命令行工具
2021/09/15 Python
Redis批量生成数据的实现
2022/06/05 Redis
Win11 Build 22000.829更新补丁KB5015882发布(附更新修复内容汇总)
2022/07/15 数码科技