WCF生成的json与Extjs交互的日期型问题
WCF生成JSON的日期型为:Date(1213545600000 + 0800),该类型为UTC的日期格式,可以通过new Date(1213545600000 + 0800)转化为日期对象,然后获取值。如:(new Date(1213545600000 + 0800)).toLocaleDateString()结果为2008年6月16日。
如果在ExtJs中使用时没有进行转换则会显示NaN年NaN月NaN日
在ExtJs中使用方式如下:
//这个函数演示了怎样把服务器端的DateTime类型转为Javascript的日期
function renderOnLastUpdateDate(value, p, record) {
var jsondate = record.data.lastChange;
return eval("new " + jsondate.substr(1, jsondate.length - 2)).toLocaleDateString();
}
// 创建Grid
var grid = new Ext.grid.GridPanel({
store: store,
columns: [
{ id: 'company', header: "公司", width: 160, sortable: true, dataIndex: 'company' },
{ header: "单价", width: 75, sortable: true, renderer: 'usMoney', dataIndex: 'price' },
{ header: "变动", width: 75, sortable: true, renderer: change, dataIndex: 'change' },
{ header: "变动百分比", width: 75, sortable: true, renderer: pctChange, dataIndex: 'pctChange' },
{ header: "最后更新", width: 100, sortable: true, renderer: renderOnLastUpdateDate, dataIndex: 'lastChange' }
],
stripeRows: true,
autoExpandColumn: 'company',
height: 350,
width: 600,
title: '股市行情',
viewCofig: { columnsText: '列', sortAscText: '升序', sortDescText: '降序' }
});
从ExtJs将日期数据通过JSON方式传送回服务器时,需要将日期转换为UTC格式,转换方法如下:
/**
*ConvertFormValues:转化从表单获取的值(Object)对象为WCF需要的Object
*formvalue:从表的获取的值Object
*datefieldname:表单值的日期型字段名,多个用","分开
*ResultObject :返回值 Object
*/
function ConvertFormValue(formvalue,datefieldname){
var ResultObject = new Object();
for (var prop in formvalue) {
if(datefieldname.indexOf(prop) != -1){
var dt = StrToDate(formvalue[prop]); //字符串转化为日期
ResultObject[prop] = ""/Date("+Date.UTC(dt.getFullYear(),dt.getMonth(),dt.getDate())+")"/"; //转化为UTC日期
}
else if (formvalue[prop] != ""){
ResultObject[prop] = formvalue[prop];
}
}
return ResultObject;
}
/**私有方法**/
function StrToDate(str){
var arys = new Array();
arys=str.split('-');
var newDate=new Date(arys[0],arys[1]-1,arys[2]);
return newDate;
}
可以参考http://www.cnblogs.com/xiaozhuang/archive/2007/12/18/1004382.html
转载于:https://www.cnblogs.com/ie421/archive/2008/08/26/1276796.html
WCF生成的json与Extjs交互的日期型问题相关推荐
- [转载] pythonjson构建二维数组_python二维键值数组生成转json的例子
参考链接: python json 10: Datetime与json的相互转化 python二维键值数组生成转json的例子 今天出于需要,要将爬虫爬取的一些数据整理成二维数组,再编码成json字符 ...
- php 生成复杂json数据,生成json的几种方式
这里是修真院后端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析后端知识/技能,本篇分享的是: [生成json的 ...
- 使用npm init生成package.json
一次安装三个包 npm install --save npm init 将自动生成package.json文件: 指定入口文件: npm install
- python生成json_python之生成多层json结构的实现
网上关于生成多层json结构的比较少,基本都是关于添加元素,解析,怎么转化为json之类的 下面就以文章信息的json为基础来构建多层json. 生成最基本的一个json: import json a ...
- php返回json数组元素,php生成返回json对象数组(json支持中文)
php生成返回json对象数组 注意两种方法生成的对象数组在结构上的区别 $jarr=array( 'total' => 239, 'list' => array( array( 'cod ...
- 【Java】基于JSON-Schema生成随机JSON的解决方案
一.需求 1.给出特定格式json-schema,生成随机json串 2.json串,目录结构按json-schema定义 3.使用java开发语言 4.不需要提供页面,能输出随机json串即可(控制 ...
- PHP JSON格式数据交互实例代码详解_php技巧_脚本之家
http://www.jb51.net/article/26007.htm 此前我写了不少在PHP网站开发中应用XML进行数据交互的实例,这两天通过PHP解析JSON并进行交互的实例学习和了解了JSO ...
- 将labelme生成的json文件转换成png图
将labelme生成的json文件转换成png图 我图片的每个标记只有一类,所以转换成png图后,png只有0和1像素,因为单通道图的范围是0~255,0和1的区别很小,下面的程序可以对你标记的mas ...
- gulp 命令用php执行了但是没有生成文件,javascript,gulp_gulp rev 生成的json文件有问题,javascript,gulp - phpStudy...
gulp rev 生成的json文件有问题 gulp-rev 生成的 rev-manifest.json 跟想象的不一样,多了一层目录, 是配置的不对还是目录结构有问题, 请大家指正 目录结构 gul ...
- MVC +easyui +json 前后端交互动态生成树形菜单
效果图: 1.view端代码实现,引入jquery.easyui 的js文件,创建树形菜单标签<ul>,如下所示: @{ViewBag.Title = "Home Page&qu ...
最新文章
- golang源码分析-调度概述
- 技术02期:这么做竟然能让你的hive运行得更流畅!
- 在leangoo里列表一般怎么设置?
- 人工智能助力全国大学智能车竞赛
- 玩转python字体
- 在WIN7系统的笔记本上建立WIFI热点
- 2019ICPC(徐州) - Who is better?(中国剩余定理+斐波那契博弈)
- 113_Power Pivot 销售订单之重复购买率及购买间隔天数相关
- 外媒:Apple面临着印度iPhone的停用
- android emmc生产日期,碎碎念android eMMC【转】
- 没有下班时间的上班怎么办?
- 两款扒站工具使用说明
- 一些可以参考的文档集合5
- pandas中关于nan的处理
- html文字溢出用省列号,关于文字内容溢出用点点点(...)省略号表示
- [架构之路-164]-《软考-系统分析师》-3-操作系统基本原理-文件系统(文件的逻辑组织、文件的物理组织、硬盘空间管理、分布式文件系统)
- 小组件打不开-完美解决
- CentOS7实验模板机搭建
- 确认过眼神—是我重返博客的第一文
- 分布式服务框架HSF学习 Dubbo VS HSF