У меня есть метод, который, учитывая .NET XmlNode
, содержащий дату ISO 8601 во внутреннем тексте, преобразует его в объект X ++ date
.
if (CLRInterop::isInitialized(childNode))
{
return str2Date(childNode.innerText(), 321);
}
else return maxDate();
Это прекрасно работает, еслипредоставил строку, которая содержит только дату (например: 2019-03-21
), но как только в этой строке также будет указано время (например: 2019-03-21T00:00:00
), он ничего не вернет.
Самым простым решением для этого было бы просто убрать все после первых 10 символов, но это снова сломалось бы, если бы по какой-то причине строка содержала только 2 символа за год.Есть ли более надежный способ обработки строк, включая время при вызове str2date
?