ASP.NET, SQL Server, LINQTOSQL и форматы даты - PullRequest
0 голосов
/ 07 февраля 2009

Я устанавливаю язык моего приложения .net через:

 string userLocale = Web.Helpers.LocaleHelpers.GetBestRFC3066Locale(this.Context.Request.UserLanguages);

            if (userLocale != String.Empty)
            {
                System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(userLocale);
                System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(userLocale);
            }

Это хорошо работает, поэтому мои даты будут отображаться в формате, основанном на локали, т.е.

12/10/2009 для en-gb а также 12.10.2009 для нас

Однако, когда я сохраняю свои даты через LinqToSql, мне нужно хранить эти даты в общем формате.

В настоящее время, когда пользователь из США запускает приложение, дата, хранящаяся в БД, имеет формат США, а когда пользователь из США использует приложение, она имеет формат США.

Любые предложения о том, как лучше всего этого достичь?

Ответы [ 2 ]

2 голосов
/ 07 февраля 2009

Сохранить дату как значение datetime в SQL Server. Тогда вы не столкнетесь с проблемой конверсии.

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

У Брэннона есть правильное решение. Если у вас есть переменная в формате datetime в SQL, вы можете преобразовать ее в другие форматы datetime, используя ключевое слово CONVERT T-SQL

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