Странность дат между ColdFusion и веб-сервисом ASP.NET - PullRequest
1 голос
/ 30 августа 2011

Код ColdFusion вызывает веб-сервис ASP.NET, передавая следующие параметры:

Использование веб-службы с параметрами {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», но жесткое кодирование после полуночи не помогает.

Кто-нибудь ударил что-нибудь подобное? По сути, веб-служба работает нормально, просто CF, кажется, хочет добавить последнюю дату предыдущего месяца. Таким образом, это действительно просто призыв к другим разработчикам, которые, возможно, имели подобный опыт. В противном случае, пожалуйста, игнорируйте. Я не хочу заниматься отладкой самого веб-сервиса. Просто хочу узнать, является ли это известной проблемой даты между ColdFusion и ASP.NET.

UPDATE

Где-то между вызовом ColdFusion и доставкой ASP.NET один день вычитается из ОБА и дат начала и окончания. Обе платформы находятся на серверах, расположенных в одном физическом месте.

Ответы [ 4 ]

0 голосов
/ 20 марта 2012

Наши веб-службы ColdFusion и .NET находятся в одном месте, но объект DateTime отображает свои данные по местному времени, но для свойства Kind установлено значение * 1006.*.Я использовал метод ToLocalTime, чтобы получить ожидаемую дату.

0 голосов
/ 31 августа 2011

Значит, веб-сервис ASP.net возвращает данные с 31/31? Или вы имеете в виду, что если вы попытаетесь создать аналогичный веб-сервис в ColdFusion, то Coldfusion вернет данные с 31/31? Если это последнее, покажите нам свой код.

0 голосов
/ 04 октября 2011

Не удалось решить это быстро.В итоге мы просто добавили день к прошедшей дате.

0 голосов
/ 30 августа 2011

Не точный ответ, но, если возможно, вы можете использовать стандартную миллисекунду с 1 января 1970 года, чтобы избежать путаницы между двумя платформами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...