1

我有一个 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 中,查询字符串中的日期最终看起来像这样:

Tue, 09 Apr 2013 23:59:00 GMT

并且 WCF 服务可以很好地使用它,但是当我使用 Internet Explorer 9 时,查询字符串中的日期如下所示:

Tue, 9 Apr 2013 23:59:00 UTC

并且 WCF 服务抛出异常:

The string was not recognized as a valid DateTime. There is an unknown word starting at index 26.

让它适用于所有浏览器的最佳方法是什么?

4

1 回答 1

1

你可以使用toISOString().

这应该有望解析 OK,因为它是公认的标准日期和时间格式之一。

在 IE8 和更早版本 toISOString()中不受支持,但我的第一个链接中的 Mozilla 文档有一个示例 shim,如果不支持该功能,您可以使用它。

于 2013-04-11T23:38:22.650 回答