ColdFusion和ASP.NET Web服务之间的日期怪异

时间:2011-08-30 00:18:35

标签: asp.net web-services coldfusion

ColdFusion代码调用ASP.NET Web服务传递以下参数:

Web服务操作使用参数{EndDate = {{ts'2011-08-31 00:00:00'}},StartDate = {{ts'2011-08-01 00:00:00'}}, CustomerCode = {905841},FullUserName = {customeris},SessionID = {184F2426-685D-4F14-B8F1-C5E9E3B56DA2}}

出于某种原因,ASP.NET开发人员可以在她的系统上的代码之外运行它,并在2011-08-01和2011-08-31之间获取所有内容,但是当我们通过coldfusion代码运行它时,我们不断获取2011-07-31(即上个月的最后一个日期)数据包含在结果集中。即使我对日期进行硬编码,它仍然会发生。虽然它可能与日期的“00:00:00”时间部分有关,但硬编码在午夜之后也无济于事。

有没有人打过类似的东西?从本质上讲,Web服务运行正常,只是CF似乎想要添加上个月的最后日期。所以,这实际上只是对可能有类似经历的其他开发人员的标注。否则请忽略。我不想进入调试Web服务本身。只想知道这是否是ColdFusion和ASP.NET之间的已知日期问题。

更新

在ColdFusion调用和ASP.NET传递之间的某个地方,从开始和结束日期中减去一天。两个平台都位于同一物理位置的服务器上。

4 个答案:

答案 0 :(得分:0)

不是确切的答案,但如果可能的话,您可能希望使用自1970年1月1日以来的标准毫秒,以避免两个平台之间的任何混淆。

答案 1 :(得分:0)

ASP.net webservice从07/31返回数据也是如此?或者,如果您尝试在ColdFusion中创建类似的Web服务,那么Coldfusion会从07/31返回数据吗?如果是后者,请告诉我们您的代码。

答案 2 :(得分:0)

无法快速解决此问题。我们最后只是在过去的日期添加了一天。

答案 3 :(得分:0)

我们的ColdFusion和.NET Web服务都位于同一位置,但DateTime对象以本地时间显示其数据,但Kind属性设置为Utc。我使用ToLocalTime方法来获取我期望的日期。