我有一个 WCF 服务,其方法定义如下:
<WebGet(), OperationContract()>
Public Function GetScene(cameraId As Integer, time As Date, bufferSize As Integer) As Scene
和 JavaScript 看起来像这样:
time = new Date("04/09/2013 23:59")
$.getJSON('../Services/CameraViewerService.svc/GetPreviousScene', 'cameraId=' + _cameraId + '&time=' + time.toUTCString() + '&bufferSize=20', function () {...});
在 Chrome 和 Firefox 中,查询字符串中的日期最终看起来像这样:
2013 年 4 月 9 日星期二 23:59:00 GMT
WCF 服务可以很好地使用它,但是当我使用 Internet Explorer 9 时,查询字符串中的日期如下所示:
2013 年 4 月 9 日星期二 23:59:00 UTC
WCF 服务抛出异常:
字符串未被识别为有效的日期时间。从索引 26 开始有一个未知单词。
让它适用于所有浏览器的最佳方法是什么?
最佳答案
您可以使用toISOString()
.
这应该可以解析正常,因为它是公认的标准日期和时间之一 formats .
在 IE8 和 earlier 中不支持 toISOString()
,但我的第一个链接中的 Mozilla 文档有一个示例填充程序,如果不支持该函数,您可以使用它。
关于javascript - wcf 服务无法从 ie 中运行的 javascript 解析日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15960348/