2013-07-18 3 views
2

Я хочу изменить формат датыКак использовать культуру для изменения формата DATETIME

CultureInfo ci = new CultureInfo("en-US"); 

Thread.CurrentThread.CurrentCulture = ci; 

string fromdate =(TxtFrom.Text); 

string todate = (TxtTo.Text); 

DateTime dt =DateTime.Parse(fromdate); 

DateTime d =DateTime.Parse(todate); 

_DivAPath.FROM_DATE = Convert.ToDateTime("d",ci); 

_DivAPath.TO_DATE = Convert.ToDateTime("d",ci); 

Но это покажет исключение, что данное Datetime не является правильным format.how изменить функции даты и времени ...

пожалуйста, объясните

ответ

2

Во-первых, вам не нужно на самом деле изменить культуру, если вы хотите, чтобы разобрать или преобразовать даты с данным CultureInfo, так что это не является необходимым:

Thread.CurrentThread.CurrentCulture = ci; 

Вы можете просто использовать DateTime.Parse перегрузку, которая принимает культуру:

DateTime dt = DateTime.Parse(fromdate, ci); 

Исключение, вероятно, поднят на Convert.ToDateTime("d",ci); поскольку d не является действительной датой;)

Может FROM_DATE является свойство string, и вы действительно хотите преобразовать дату и время в короткую строку, тогда вы можете использовать:

_DivAPath.FROM_DATE = dt.ToString("d", ci); 

или

_DivAPath.FROM_DATE = dt.ToShortDateString(); // uses the current-culture 
0

Вы передаете строку, "d" в качестве значения для преобразования в DateTime. Pass d и dt без кавычек.

+0

Так зачем ему использовать 'Convert.ToDateTime' в переменной' DateTime'? –

+0

* duh * вы правы. :-) – Alexander

Смежные вопросы