Maciej Los
Прежде всего: а 'Tue Aug 9 00:00:03 2016
' дата не могу быть преобразованным в '2016-10-09 00:00:03
', потому что из-за Августа это 8. месяц в году.
Во-вторых, все, что вам нужно сделать, это:
string inputDate = "Tue Aug 9 00:00:03 2016";
string inputFormat = "ddd MMM d hh:mm:ss yyyy";
System.Globalization.CultureInfo provider = new System.Globalization.CultureInfo("en-US");
DateTime resultDate = DateTime.ParseExact(inputDate, inputFormat, provider);
//resultDate = '2016-08-09 00:00:03'
Но (!), я бы предложил использовать
значение datetime.Метод tryparse[
^] или
значение datetime.Метод tryparseexact[
^] метод.
DateTime resultDate1;
if (DateTime.TryParseExact(inputDate, inputFormat, provider, System.Globalization.DateTimeStyles.None, out resultDate1))
{
Console.WriteLine("A result date is '{0}'", resultDate1);
}
else
{
Console.WriteLine("String to date conversion failed!");
}
[РЕДАКТИРОВАТЬ]
С помощью
DateTime.TryParseExact
, вы можете перебирать множество форматов, т. е.:
string inputDate = "Tue Aug 10 00:00:03 2016"; //'2016-10-09 00:00:03'.
string[] inputFormats = new string[] {"MMM d hh:mm:ss yyyy", "MMM dd hh:mm:ss yyyy"};
System.Globalization.CultureInfo provider = new System.Globalization.CultureInfo("en-US");
DateTime resultDate = new DateTime(1900,1,1);
foreach(string format in inputFormats)
{
if (DateTime.TryParseExact(inputDate.Substring(4,inputDate.Length-4), format, provider, System.Globalization.DateTimeStyles.None, out resultDate))
{
Console.WriteLine("A result date is '{0}'", resultDate);
break;
}
}
if(resultDate==new DateTime(1,1,1))
{
Console.WriteLine("String to date conversion failed. Unknown format!");
}
Karthik_Mahalingam
Прежде всего:дата' Tue Aug 9 00:00:03 2016 'не может быть преобразована в' 2016-10-09 00:00: 03', потому что duu to August-это 8. месяц в году.
я думаю, что его опечатка кстати, об ОП.