我在转换绑定日期值/字段时遇到问题。数据库中的字段具有VARCHAR(12)的字段类型,格式为“yyyy-MM-dd”。在XAML视图上绑定的对象也是DatePicker。
当我拉入初始字段时 - 我的Binding Converter似乎有效(见下文):
string MyString = value.ToString();
DateTime dt = DateTime.ParseExact(MyString, "yyyy-MM-dd",CultureInfo.InvariantCulture);
return dt;
然而,我似乎无法将其转换回来。在帮助下,我正在尝试以下方面的变化 - 但到目前为止没有任何运气。
DateTime dt = DateTime.ParseExact(value.ToString(), "yyyy'|'MM'|'dd", CultureInfo.InvariantCulture);
return dt.ToShortDateString();
工作更新 - 我想要的时间有点长,但这似乎可以解决问题:
try
{
DateTime dt;
string strValue = value.ToString();
if (DateTime.TryParseExact(strValue, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
return dt.ToString("yyyy-MM-dd");
}
else
{
return DateTime.MinValue;
}
}
catch (Exception ex)
{
return DateTime.MinValue;
}