紧急求助!数据json化时的类型问题。。。

xxx396498577 2010-05-19 10:55:39
是这样的,我在后台中,从数据库里取出一个数据集,其中有一个字段是date类型,但是我进行json序列化之后变成了如下格式的数据:
/Date(1273424433000+0800)/
这样的数据没办法使用,怎么能把他反序列化为原来的类型呢?

求助,在线等。。。
...全文
133 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxmiaoyong126com 2010-05-19
  • 打赏
  • 举报
回复
convert(varchar(20),date,120) as date
这个放进json就可以了,

不过话说回来,楼主用的后台代码是什么,
我用网上那个ASP类转化的,编程json数据后仍然是datetime型的,
xushilin000000000 2010-05-19
  • 打赏
  • 举报
回复
方法1:直接在查询阶段将时间类型格式化为你要的字符串(就是修改查询语句)

方法2:在将时间转换为json中的某个东西的时候处理一下,(我一般是用一个处理类,专门处理这个时间)

方法3:就是到客户端改了,用脚本
guansong8079776 2010-05-19
  • 打赏
  • 举报
回复

var date = eval('new ' + "\/Date(1270023636359)\/".replace(/\//g, ' '));
alert(date.toLocalString());
xxx396498577 2010-05-19
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 guansong8079776 的回复:]
不知道你用到什么浏览器,我在IE8 ,FF3.63,opera下全部通过测试,得到结果 3
[/Quote]
OK,是我弄错了,现在好了,我的结果也是3。。。
只是,数据库中的数据类型是这样的:2010/5/10 1:00:33
我想弄成这样,有办法么?或者2010-5-10 1:00:33也行。。。。
guansong8079776 2010-05-19
  • 打赏
  • 举报
回复
不知道你用到什么浏览器,我在IE8 ,FF3.63,opera下全部通过测试,得到结果 3
xxx396498577 2010-05-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 guansong8079776 的回复:]
晕啊,你管它什么颜色,出来结果就行了。
对吧?
[/Quote]

我倒啊,变成绿色就说明程序不执行啊,它直接给我报错说。。。
guansong8079776 2010-05-19
  • 打赏
  • 举报
回复
晕啊,你管它什么颜色,出来结果就行了。
对吧?
xxx396498577 2010-05-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 guansong8079776 的回复:]
引用 6 楼 xxx396498577 的回复:
引用 5 楼 guansong8079776 的回复:
JS编程,对服务器端返回的日期串进行处理
var date = eval('new ' + "\/Date(1270023636359)\/".replace(/\//g, ' '));
alert(date.getDay());


这个replace(/\//g, ' '))……
[/Quote]
我试过了的,在编译器里面它直接变成了绿色的。。。
guansong8079776 2010-05-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xxx396498577 的回复:]
引用 5 楼 guansong8079776 的回复:
JS编程,对服务器端返回的日期串进行处理
var date = eval('new ' + "\/Date(1270023636359)\/".replace(/\//g, ' '));
alert(date.getDay());


这个replace(/\//g, ' ')),这句代码后面的两个'//',不是会被默认认为是注释……
[/Quote]
你试试先
xxx396498577 2010-05-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 guansong8079776 的回复:]
JS编程,对服务器端返回的日期串进行处理
var date = eval('new ' + "\/Date(1270023636359)\/".replace(/\//g, ' '));
alert(date.getDay());
[/Quote]

这个replace(/\//g, ' ')),这句代码后面的两个'//',不是会被默认认为是注释了么?
guansong8079776 2010-05-19
  • 打赏
  • 举报
回复
JS编程,对服务器端返回的日期串进行处理
var date = eval('new ' + "\/Date(1270023636359)\/".replace(/\//g, ' '));
alert(date.getDay());
xxx396498577 2010-05-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lieri111 的回复:]
1273424433000这个应该是一个时间毫秒,楼主想要什么格式可以转换一下就可以了如果是本地toLocalString()就可以了,或者自己来计算一下时分秒也可以
[/Quote]
只是想还原成原来的类型。。。
xxx396498577 2010-05-19
  • 打赏
  • 举报
回复
数据库中的数据类型是这样的:2010/5/10 1:00:33
passself 2010-05-19
  • 打赏
  • 举报
回复
1273424433000这个应该是一个时间毫秒,楼主想要什么格式可以转换一下就可以了如果是本地toLocalString()就可以了,或者自己来计算一下时分秒也可以
stayalive 2010-05-19
  • 打赏
  • 举报
回复

<script>
var str=new Date(1273424433000+0800)
alert(str);
</script>

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧