Я пытался преобразовать формат даты и времени, как показано ниже, но продолжаю получать эту проблему.Он отлично работает для первых трех в данном примере, но для четвертого выдает исключение.Не уверен, почему происходит такое исключение.
Примеры:
02-05-2018 12:07:00
02-05-2018 11: 56: 00
02-05-2018 11: 56: 00
02-05-2018 14: 12: 00 (проблема возникает на этом)
C # Код:
if (item.ReceivedDate != null && item.ReceivedDate != "")
{
string[] formats = { "HH:mm:ss MM-dd-yyyy","hh:mm MM/dd/yyyy","dd-MM-yyyy hh:mm:ss","MM/dd/yyyy", "MM-dd-yyyy", "dd MMM yy", "dd-MMM-yyyy","dd-MM-yyyy", "MM-dd-yyyy", "d-M-yyyy", "d-MMM-yy", "dd-MMM-yy", "d-MMMM-yyyy","M-d-yyyy h:mm:ss tt", "M-d-yyyy h:mm tt",
"MM-dd-yyyy hh:mm:ss", "M-d-yyyy h:mm:ss","yyyy-MM-dd","dd/MM/YYYY hh:mm","MM/dd/yyyy hh:mm tt","MM/dd/yyyy H:mm","MM/dd/yyyy h:mm tt",
"M-d-yyyy hh:mm tt", "M-d-yyyy hh tt","MM/dd/yyyy hh:mm:ss","MM/dd/yyyy HH:mm","MMMM dd","yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss.fffffffK","ddd, dd MMM yyy HH’:’mm’:’ss ‘GMT’",
"M-d-yyyy h:mm", "M-d-yyyy h:mm","yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss","yyyy MMMM","dddd, dd MMMM yyyy","dddd, dd MMMM yyyy HH:mm:ss",
"MM-dd-yyyy hh:mm", "M-dd-yyyy hh:mm",
"MM-d-yyyy HH:mm:ss.ffffff"};
string DATE = Convert.ToString(item.ReceivedDate);
//DATE = DATE.Replace(' ', '-').Replace('/', '-');
//DATE = DATE.ToString(System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR"));
string[] NEwDAte = (DATE.ToCharArray()[5] == ' ') ? DATE.Split(' ')[1].Trim().Split('-') : new[] { DATE };
dr["Receiving Date"] = (DATE.ToCharArray()[5] == ' ') ? (NEwDAte[2] + "-" + NEwDAte[0] + "-" + NEwDAte[1]) : DateTime.ParseExact(DATE, formats, CultureInfo.InvariantCulture, DateTimeStyles.None ).ToString("dd/MM/yyyy");
//dr["Receiving Date"] = (DATE.ToCharArray()[5] == ' ') ? (NEwDAte[2] + "-" + NEwDAte[0] + "-" + NEwDAte[1]) : Convert.ToDateTime(item.ReceivedDate).ToString("yyyy-MM-dd");
}
else
{
dr["Receiving Date"] = "";
}
Finaltable.Rows.Add(dr.ItemArray);
Помогите мне решить эту проблему.Спасибо