Формат даты и взаимодействие клиент-сервер - PullRequest
2 голосов
/ 07 февраля 2011

Представьте себе абстрактную проблему.

Существует клиент (C), который взаимодействует с сервером (S).Они изменяют переменную даты (d).

Сервер может быть французским или английским, а клиент - тоже.

Дата, отправленная французским клиентом ("31.12.2011") на английский сервер ("31.12.2011"), не может ее распознатьИ наоборот.

Как избежать такой проблемы в .NET.

Ответы [ 3 ]

4 голосов
/ 07 февраля 2011

Контролируете ли вы как клиента, так и сервер? Если это так, просто согласитесь с форматом и культурой - я бы предложил инвариантную культуру - и четко проследите, чтобы обе стороны придерживались ее.

Вы можете очень легко анализировать и форматировать в .NET, используя инвариантную культуру - ищите перегрузки ToString и Parse / TryParse, которые включают параметр IFormatProvider.

1 голос
/ 07 февраля 2011

Отправьте его между клиентом и сервером, используя свойство Ticks. Это число, и оно всегда будет одинаковым, независимо от того, что вы хотите отформатировать, как.

0 голосов
/ 09 февраля 2011

Есть ли причина, по которой вы отправляете дату в виде строки? Лучше всего было бы поделиться датой, используя тип данных DateTime. Если по какой-либо причине вы можете просто отправить строку, лучше всего преобразовать значение даты в LongDateFormat, а затем передать его, который можно проанализировать на другом конце, чтобы получить значимую дату.

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