Мне нужно выполнить тысячи документов Word и создать из них XML-файлы. Все работает отлично, за исключением полей «Дата», потому что я работаю на двух языках.Преобразование строки Date и Time to DateTime
Вот несколько примеров
- ДАТА: 24 ноября 2016 ВРЕМЯ: 15:31
- ДАТА: 28 NOVEMBRE 2016 HEURE: 10H31
Я очистки до строки бит используя ниже, но я все еще получаю печально известную строку String не был признан действительным DateTime. '
IFormatProvider culture = null;
if (m.rdoEnglish.IsChecked == true)
{
culture = new System.Globalization.CultureInfo("en-CA", true);
}
else if (m.rdoFrench.IsChecked == true)
{
culture = new System.Globalization.CultureInfo("fr-CA", true);
}
string dt = "";
dt = m.txtPublished.Text;
if (dt.IndexOf("HEURE:") != -1)
{
dt = dt.Replace("HEURE:", "");
}
if (dt.IndexOf("H") != -1)
{
dt = dt.Replace("H", ":");
}
DateTime dt2;
dt2 = DateTime.ParseExact(dt, "MM/dd/yyyy HH:mm:ss tt", culture);
//Cleaned string looks like this " 28 NOVEMBRE 2016 10:31 "
return dt2;
Очищенная строка не похожа на строку формата, которую вы передаете в 'ParseExact()'. Попробуйте сделать их совпадающими. – itsme86
'dt = dt.Replace (" H ",": ");' будет заменять каждый «H» 'на':: ', что вызовет проблемы с такими месяцами, как« MARCH ». – Quantic