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禁止回车触发表单提交
Dec 12 Javascript
jquery中val()方法是从最后一个选项往前读取的
Sep 06 Javascript
jquery+Jscex打造游戏力度条
Sep 12 Javascript
AngularJS辅助库browserTrigger用法示例
Nov 03 Javascript
JavaScript学习笔记之惰性函数示例详解
Aug 27 Javascript
关于react中组件通信的几种方式详解
Dec 10 Javascript
web前端vue之CSS过渡效果示例
Jan 10 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
Jun 04 Javascript
js实现无缝轮播图效果
Mar 09 Javascript
JQuery插件tablesorter表格排序实现过程解析
May 28 jQuery
基于Vue中的父子传值问题解决
Jul 27 Javascript
javascript实现左右缓动动画函数
Nov 25 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&amp;java(二)
2006/10/09 PHP
php简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
php对文件夹进行相关操作(遍历、计算大小)
2015/11/04 PHP
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
js倒计时抢购实例
2015/12/20 Javascript
微信小程序 开发指南详解
2016/09/27 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
纯js实现倒计时功能
2017/01/06 Javascript
用jQuery实现可输入多选下拉组合框实例代码
2017/01/18 Javascript
javascript基础知识之html5轮播图实例讲解(44)
2017/02/17 Javascript
Vuex和前端缓存的整合策略详解
2017/05/09 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
2019/05/10 Javascript
JavaScript函数重载操作实例浅析
2020/05/02 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
2020/07/17 Javascript
node.js如何操作MySQL数据库
2020/10/29 Javascript
[05:08]顺网杯ISS-DOTA2赛歌 少女偶像Lunar青春演绎
2013/12/05 DOTA
跟老齐学Python之玩转字符串(2)
2014/09/14 Python
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
Saltstack快速入门简单汇总
2016/03/01 Python
Python实现文件复制删除
2016/04/19 Python
Python后台管理员管理前台会员信息的讲解
2019/01/28 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
解决python明明pip安装成功却找不到包的问题
2019/08/28 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
Giuseppe Zanotti美国官方网站:将鞋履视为高级时装般精心制作
2018/02/06 全球购物
介绍一下如何利用路径遍历进行攻击及如何防范
2014/01/19 面试题
法律六进活动方案
2014/03/13 职场文书
美术指导求职信
2014/03/17 职场文书
作弊检讨书
2015/01/27 职场文书
优秀志愿者感言
2015/08/01 职场文书
Django实现在线无水印抖音视频下载(附源码及地址)
2021/05/06 Python
星际争霸:毕姥爷vs解冻01
2022/04/01 星际争霸
Python OpenCV形态学运算示例详解
2022/04/07 Python