2009-03-24 3 views
0

У меня есть сервер с немецкими окнами, но значения DateTime хранятся на сервере mysql в английском формате. Как заставить каждый метод DateTime.ToString() (например, DateTime.Now.ToString()) выводить «Английский» DateTime по умолчанию?Как установить глобальный формат DateTime в проекте ASP.NET?

ответ

4

Я бы установил культуру в web.config, поэтому любое преобразование или синтаксический анализ конкретной культуры, то есть даты, будет использовать одну и ту же культуру независимо от области операционной системы.

т.е.

<globalization culture="en-GB" uiCulture="en-GB"/> 
0

Я предлагаю вам попробовать и настроить среду mysql и среду .net, чтобы использовать формат Universal datetime, а не локализованную версию. Затем вы можете использовать DateTime.ToString («U»), чтобы использовать надежный формат в любое время.

Кроме того, вы должны иметь возможность передавать свои даты в свою базу данных как параметры с набранными параметрами, а не как строку, и поэтому она будет обрабатывать базовое преобразование для вас. Я использую SqlServer, хотя и не MySql, поэтому я не знаю, получаете ли вы те же результаты.

+0

К сожалению, даже с параметрами типа вы можете определенно еще пройти плохо отформатированные даты в SQL Server. ASP.NET не знает формат даты, который ожидает ваши учетные данные SQL, который может быть установлен для каждого пользователя. – Bryan

+0

Я считаю, что лучше всегда передавать фиксированный формат SQL Server для дат, которые нельзя смешивать из-за проблем с локализацией. MMM dd yyyy обрабатывает это, поскольку нет средств для его обмена месяцами, днями и годами. – schooner