Невозможно неявно преобразовать тип "string" в " System.Датавремя'
Я пытаюсь преобразовать из строки в DataTime, но возникает ошибка. Я использую VS 2003, .NET Framework 1.1
DateTime dt = Convert.ToDateTime("11/23/2010");
string s2 = dt.ToString("dd-MM-yyyy");
DateTime dtnew = Convert.ToString(s2);
невозможно неявно преобразовать тип 'string' в ' System.DateTime'
может ли один помочь мне с синтаксисом, как решить ошибку.
7 ответов
string input = "21-12-2010"; // dd-MM-yyyy
DateTime d;
if (DateTime.TryParseExact(input, "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out d))
{
// use d
}
DateTime dtnew = Convert.ToString(s2);
проблема в том, что ваше преобразование string s2
для строки снова и сохранить его в DateTime variable
попробуйте это:
DateTime dt = Convert.ToDateTime("11/23/2010");
string s2 = dt.ToString("dd-MM-yyyy");
DateTime dtnew = Convert.ToDateTime(s2);
вы должны использовать DateTime.Parse
или DateTime.ParseExact
.
DateTime dt= DateTime.Parse("11/23/2010");
string s2=dt.ToString("dd-MM-yyyy");
DateTime dtnew = DateTime.Parse(s2);
как есть TryXXX
варианты, которые требуют передачи параметра out, но не будут выдавать исключение, если синтаксический анализ не удался:
DateTime dt;
if(td = DateTime.TryParse("11/23/2010", out td))
{
string s2=dt.ToString("dd-MM-yyyy");
DateTime dtnew = DateTime.Parse(s2);
}
DateTime.Parse("01/01 2010");
или использовать
DateTime.TryParse
если вы не уверены, что он преобразуется каждый раз, т. е. не всегда, но иногда пустой.