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 相关文章推荐
JavaScript入门之对象与JSON详解
Oct 21 Javascript
zTree插件之单选下拉菜单实例代码
Nov 07 Javascript
js验证整数加保留小数点的简单实例
Dec 02 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
May 05 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
Aug 29 Javascript
Javascript for in的缺陷总结
Feb 03 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
Jul 24 Javascript
JavaScript动态创建二维数组的方法示例
Feb 01 Javascript
解决axios post 后端无法接收数据的问题
Oct 29 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
Mar 14 Javascript
vue响应式原理与双向数据的深入解析
Jun 04 Vue.js
Vue的过滤器你真了解吗
Feb 24 Vue.js
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
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
2013/06/14 PHP
php实现按文件名搜索文件的远程文件查找器
2014/05/10 PHP
php+ajax实现的点击浏览量加1
2015/04/16 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
php如何利用pecl安装mongodb扩展详解
2019/01/09 PHP
微信公众平台开发教程②微信端分享功能图文详解
2019/04/10 PHP
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
简单的jquery拖拽排序效果实现代码
2011/09/20 Javascript
javascript实现无缝上下滚动特效
2015/12/16 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
原生js图片轮播效果实现代码
2016/10/19 Javascript
js字符串操作总结(必看篇)
2016/11/22 Javascript
JS获取年月日时分秒的方法分析
2016/11/28 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
webpack项目轻松混用css module的方法
2018/06/12 Javascript
跟老齐学Python之网站的结构
2014/10/24 Python
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
python自动格式化json文件的方法
2015/03/11 Python
python根据出生日期返回年龄的方法
2015/03/26 Python
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
python删除特定文件的方法
2015/07/30 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
python 实现语音聊天机器人的示例代码
2018/12/02 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
opencv python如何实现图像二值化
2020/02/03 Python
英国森林假期:Forest Holidays
2021/01/01 全球购物
列车长先进事迹材料
2014/01/25 职场文书
大学中国梦演讲稿
2014/04/23 职场文书
党性心得体会
2014/09/03 职场文书
小学运动会开幕词
2015/01/28 职场文书
laravel ajax curd 搜索登录判断功能的实现
2021/04/17 PHP
golang 接口嵌套实现复用的操作
2021/04/29 Golang
Mysql Online DDL的使用详解
2021/05/20 MySQL