• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > Extjs4如何处理后台json数据中日期和时间

Extjs4如何处理后台json数据中日期和时间

作者:幕三少 字体:[增加 减小] 来源:互联网 时间:2017-05-28

幕三少 通过本文主要向大家介绍了extjs4,extjs4中文api,extjs4教程,extjs4项目实例,extjs4下载等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

当ASP.NET后台使用JavaScriptSerializer这个组件将对象序列化为json,或者使用ScriptMethod特性的json

 [ScriptMethod(ResponseFormat = ResponseFormat.Json), WebMethod(EnableSession = true)]
    public List<EUser> Users()//参数测试用
    {
      List<EUser> l = new List<EUser>();
      Random aran = new Random();
      for (int i = 0; i < 24; i++)
      {
        DateTime date = DateTime.Parse("2015-08-21");
        date = date.AddHours(i);
        var u = new EUser(date,Math.Round(aran.NextDouble() * 100) , 
          Math.Round(aran.NextDouble() * 100), Math.Round(aran.NextDouble() * 100));
        l.Add(u);
      }
      return l;
    }
</div>

 生成的日期json格式是这样的//Date(1213718400000+0800)//
这种格式ExtJs不识别,导致Grid上无法正常显示。使用ExtJS4的时候,在列模式里像下面这样处理即可。

{ 
   text:'审核时间', 
   dataIndex:'Date', 
   width:200, 
   renderer: function(value) { 
     if(value){ 
       var dt=eval("new " + value.substr(1, value.length - 2)).toString(); 
     return Ext.util.Format.date(dt, "Y年m月d日H时i分s秒");//"Y年m月d日H时i分s秒"    
     }   
    } 
 }
</div>

当ASP.NET后台使用Newtonsoft.Json(JSON.NET)这个组件将对象序列化为json,

  Hashtable ht = new Hashtable(); 
  ht.Add("total", listu.Count); 
  ht.Add("rows", listu); 
  JsonStr = JsonConvert.SerializeObject(ht);//使用json.net序列化 
  context.Response.Write(JsonStr); 

</div>

生成的日期格式是标准的日期像这样子:

"2013-01-15T15:00:00"

{ 
  text:'审核时间', 
  dataIndex:'Date', 
  width:200, 
  xtype:'datecolumn', 
  format:'Y年m月d日H时i分s秒' 
}
</div>

 Extjs4---json处理日期的问题 JSONObject.toBean转换日期时显示当前日期

 今天碰到了一个新问题,在前台修改日期后,在后台用JSONObject.toBean转为实体类时出问题了:

1、会显示警告:Can't transform property 'birthday' from java.lang.String into java.util.Date. Will register a default Morpher

2、转换的日期为当前的日期,而不是修改后的日期

原因是JSONObject不能识别类似“yyyy-MM-dd”的格式

解决的办法有很多,下面分享我用的一种方法:

JSONObject object = JSONObject.fromObject(updateUser); 


//在<span style="font-family: Arial;">JSONObject.toBean加上这行代码就可以了</span> 


JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[] {"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss"})); 


User user = (User) JSONObject.toBean(object, User.class);
</div>

通过此方法问题解决,方法还有很多种,欢迎大家分享,功能学习进步。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Extjs4如何处理后台json数据中日期和时间

相关文章

  • 2017-05-28C#中winform实现自动触发鼠标、键盘事件的方法
  • 2017-05-28C#通过IComparable实现ListT.sort()排序
  • 2017-05-28C#通过windows注册表获取软件清单的方法
  • 2017-05-28C#基于UDP实现的P2P语音聊天工具
  • 2017-05-28C#中 城市线路图的纯算法以及附带求极权值
  • 2017-05-28基于使用BeginInvoke,EndInvoke异步调用委托的实现代码
  • 2017-05-28基于C#实现简单离线注册码生成与验证
  • 2017-05-28c# 备忘录模式
  • 2017-05-28c#反射调用方法示例
  • 2017-05-28C#将制定目录文件名转换成大写的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#异步下载文件
    • 总结C#动态调用WCF接口的两种方法
    • 在Parallel中使用DbSet.Add()发现的一系列多线程问题和解决思路详解
    • .net后台获取html控件值的2种方法
    • C#中WPF使用多线程调用窗体组件的方法
    • C# yield在WCF中的错误使用(二)
    • C#6.0中10大新特性的应用和总结
    • C#使用浏览按钮获得文件路径和文件夹路径的方法
    • C#使用this关键字实现串联构造函数调用方法
    • C#抽象类和接口的区别分析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有