2013-10-24 5 views
3

Я хочу преобразовать дату в европейский формат и отобразить ее в столбце вида сетки, может ли кто-нибудь сказать мне, как это сделать?Как превратить дату в европейский формат?

Это мой код:

EventManagerDataContext db = new EventManagerDataContext(); 

if (txtSearchnews.Text == "") 
{ 
    var q = from a in db.EMR_NEWs 

    select new 
    { 
     News_ID=a.News_ID, 
     Title=a.Title, 
     Text=a.Text, 
     Creation_Date=a.Creation_Date, 
     Publication_Date=a.Publication_Date, 
     Expiration_Date=a.Expiration_Date 
    }; 
    grid.DataSource = q.ToList(); 
} 
+2

Вам не нужно конвертировать , Попробуйте найти данные о форматировании в сетке. Если вы хотите изменить форматирование в целом, это Thread.CurrentUICulture. Кстати, какую сетку вы используете? – mikalai

+0

Взгляните на это: http://stackoverflow.com/questions/4796796/c-sharp-convert-datetime-from-string-with-different-format. Вы также можете установить cultureinfo –

+0

@Monika В предыдущие годы я живу с двух лет в Европе. Но каков европейский формат с вашей точки зрения? – mnemonic

ответ

2

сделать одну вещь после переформатирования дата написать этот

DateTime dt = Convert.ToDateTime(strFormatedDate); 

где *strFormatedDate* переменная строка, которая держит ваш отформатированный дату.

Теперь у вас есть обе даты в формате DateTime, поэтому продолжайте использовать свои функции.

Надеюсь, это сработает!

+0

Можете ли вы дать точный код? – Monika

3

Что вам нужно - это глобализация.

Вы должны проверить CultureInfo в .NET.

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

Кроме того, вы можете получить доступ или использовать NumberFormatInfo или DateTimeFormatInfo не только в вашей культуре культуры/текущей темы, но и в качестве объектов, которые вы можете использовать в различных методах синтаксического анализа и tostring.

Понимая это, вы можете быть в состоянии делать кросс-кантри-приложения, поэтому я могу только посоветовать вам посмотреть их и поиграть с ними. Тогда, понимая их больше, вы найдете множество способов для решения конкретной проблемы

0

Я нашел решение, как это:

TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("Central European Standard Time"); 

и

Creation_Date = TimeZoneInfo.ConvertTime(a.Creation_Date,tzi), 
Смежные вопросы