【发布时间】:2014-12-11 13:32:58
【问题描述】:
我的 SQL Server 数据库中有一个包含两列的表 'whenDateTime' (日期时间,空) “持续时间”(时间(7),空)
从我的 javascript 我调用 JSON 服务
$.getJSON("myService/GetAllHappenings",
function (allData) {
var mappedAction = $.map(allData, function (item) {
return new Happening(item)
});
self.Happenings(mappedAction);
//... some other code...
});
在哪里
self.Happenings = ko.observableArray();
在我的浏览器 (Firefox) 中将“myService/GetAllHappenings”作为 URL 检查时,我得到:
<duration>PT1M</duration>
<whenDateTime>2014-11-12T11:26:00</whenDateTime>
在数据库中的值为:
sduration whenDateTime
00:01:00.0000000 2014-11-12 11:26:00.000
但是当我单步执行 $.getJSON 时,值都可以,直到该行
self.Happenings(mappedAction);
在这行之前 mappedAction 包含数据
"2014-11-12T11:26:00"
"00:01:00"
但是就在这一行之后,数据被转换成
"30.06.2020 11:26"
"00:00"
怎么会这样? 我该如何解决这个问题?
【问题讨论】:
-
是的,我遇到过这样的情况,有效的解决方法应该是不要使用
datetime类型使用string,这样日期时间将是稳定的(控制器viewmodel) -
好建议!谢谢。但是找到了原因:我将变量绑定到输入字段和 Trent Richardsons datetimepicker。我不认为实际的绑定是在逐步找到位置的,但我发现这是 datetimepickers 的“错误”。所以现在我正在为日期和时间实现一个解析器。
-
祝你好运。在处理日期/日期时间时始终保持谨慎。欢呼
-
@supercool thnxx 遇到同样的错误并解决了
标签: javascript jquery json datetime knockout.js