2009-11-22 2 views
0

У меня есть сайт, который сохраняет дату в моей модели в базе данных.Сохранение объекта DateTime в UK Dev Server vs US Live Server

После запуска моего сайта я понял, что у сервера есть региональные настройки в США, поэтому я должен был убедиться, что все даты на общедоступном сайте были отформатированы в британском формате.

Однако теперь, когда я перехожу на страницу «Создать» и выбираю дату и нажимаю «Сохранить», я получаю сообщение об ошибке Значение «22/11/2009» недопустимо для поля «Дата»., который должен поступать из стандартных данных DataAnnotations на моей модели.

Есть ли что-то, что я могу сделать, чтобы принять его в отложенные даты в Великобритании?

ответ

2

мне удалось получить его работу, поставив это в web.config

<globalization culture="en-GB"/> 
1

Вы пробовали это? Если этот сайт используется только в Великобритании, вы, вероятно, можете поместить его в приложение Global.asax Application_Init. Если он основан на пользователе, вы можете поместить его в Application_BeginRequest. Это обеспечит форматирование и разбор по умолчанию для всех дат и номеров в приложении.

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-gb"); 
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-gb"); 
1

Делайте то, что так же: сохраняются все даты в формате UTC и сделать их как UCT с литерой "Z" для GMT/UTC/Zulu. Это может быть не идеальным, но иногда выигрыш от простоты перевешивает затраты на альтернативу. Подумай об этом.