2016-01-16 4 views
1

DateTime (YYYY-MM-DD) Я работаю с датой function.data поставляется в другом формате, какКак конвертировать любой форматированный дату текстовое поле в формате

1. «2016-01-31»

2. "31-01-2016"

3. "31/01/2016"

4. "2016/01/31"

5. "1 января 2016"

6. «2016-01-02 12:00 AM»

Теперь я хочу преобразовать все вышеупомянутые даты формата в формат DateTime YYYY-mm-dd.

Я пробовал много методов, но некоторые формат показывает сообщение об ошибке, как

«Строка не правильный формат»

«Невозможно преобразовать строковое значение DateTime»

Я попытался,

Datetime date=DateTime.ParseExact(txtdate.Text,'YYYY-mm-dd',CultureInfo.InvariantCulture); 

Как я могу преобразовать/преобразовать значение в формат datetime (YYYY-mm-dd) из любого текстового поля формата.

В основном я получаю сообщение об ошибке после загрузки на сервер (GoDaddy и Microsoft azure).

Могу ли я использовать как этот

строки DateTimes = txtdate.Text;

string[] dateTimes = new string[] { "YYYY-mm-dd", "dd-mm-YYYY","mm/dd/YYYY","yyyy/MM/dd"}; 

ответ

1

Ваш код не совсем прав. Строка формата даты должны быть окружены " (двойные кавычки) и корпус должен быть как так„YYYY-MM-DD“. Также CultureInfo.InvariantCulture написано неправильно.

Сказав, что вам не нужно использовать функцию ParseExact, чтобы преобразовать строку в формат DateTime вы можете просто использовать Convert.ToDateTime

Вот некоторые примеры кода я использовал для тестирования Convert.DateTime функции:.

string[] dateTimes = new string[] { "2010-02-01", "02-03-2011", "03/04/2012", "2013/05/04", "june 05 2014", "2015-07-06 11:00 AM" }; 

StringBuilder sb = new StringBuilder(); 
foreach (string date in dateTimes) 
{ 
    DateTime dt = Convert.ToDateTime(date); 
    sb.AppendLine(dt.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture)); 
} 
string convertedDateTimes = sb.ToString(); 

Используя соответствующие части из выше, вы ок n измените свой код на следующее:

try 
{ 
    Datetime date = Convert.ToDateTime(txtdate.Text.Trim()); 
    string dateString = date.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture); 
} 
catch (FormatException ex) 
{ 
    //Handle the exception. e.g. show a message or print something to the form. 
} 
+0

Вы хотите сохранить исходный формат введенной даты? – Yass

+0

Теперь вы прошли разные даты в массиве, Также я могу передавать разные форматы. Как «yyyy-MM-dd», «dd = mm-YYY» –

+0

Нет. Я не хочу сохранять исходный формат. Мне нужен только преобразованный формат. –

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