2011-06-23 46 views
3

我有一个.NET webservice,它需要一个整数并且一个日期对象有一个参数。我使用AJAX和jQuery调用webservice,但我无法以正确的格式发送日期。发送JavaScript日期到webservice

当.NET webservice返回一个日期对象时,它是UTC格式(1970年1月1日以来的毫秒),所以我想我应该在从客户端发送日期到webservice时使用相同的格式,但是当我这样做(例如,价值Date(1308787200000)),然后我从Web服务得到一个错误,说它“不是一个有效的DateTime值”。

我在这里错过了什么?

问候, 斯特芬

+0

“日期(1308787200000)” 不是一个有效的日期, “1308787200000” 可能是。不知道为什么你会把“Date()”放在它的周围。 – Lazarus

+0

当一个Web服务返回一个日期对象时,它会像'Date(1308787200000)' –

+0

主要是因为这是Web服务向客户端发送日期时的日期。我只是试图删除日期,只留下数字部分。仍然得到相同的错误: -/ –

回答

1

当你序列一个JavaScript日期对象到JSON其转换成日期(time_since_epoch),以便它可以很容易地转换回用JavaScript。

另一方面,.NET喜欢不同的日期格式......并且该格式取决于机器的本地化。通常这是Windows机器本地时区中的“mm/dd/yyyy hh:mm:ssAM”。

最好的办法是将此日期转换为JavaScript端的字符串或解析.NET端的日期。

在.NET方面,你可以使用下面的字符串转换(再一次依赖于服务器的本地时间)转换

DateTime.Parse 
0

使用这样:var现在=新的日期()。 toISOString();

它会给你正确的格式(即2014-02-23T20:16:26:298Z)