日期时间转换器WPF(datetime converter WPF)

2019-09-30 06:07发布

我有这样的转换器,我做了一次日期从DataPicker选择来获得当前的时间。 在字符串日期我得到的是从的DatePicker选择的价值,但我不能似乎只得到的日期。 即进入Value属性的格式是2013年9月24日12:00:00我想这是2013年9月24日

我正的误差是“错误122无过载用于方法‘的ToString’需要1个参数”

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
            if (value is DateTime)
            {
            string date = value.ToString("d/M/yyyy");
            return (date);
            }

             return string.Empty;
}

Answer 1:

您需要首先转换为日期时间:

public object Convert(object value, Type targetType, object parameter,
                      System.Globalization.CultureInfo culture)
{
    if (value is DateTime)
    {
        DateTime test = (DateTime) value;
        string date = test.ToString("d/M/yyyy");
        return date;
    }

    return string.Empty;
}


Answer 2:

你应该投值DateTime类型,因为没有一个ToString(String f)的类型方法Object

if (value is DateTime)
{
   var dateTime = (DateTime)value;
   return dateTime.ToString("dd/MM/yyyy");
}

return string.Empty;


Answer 3:

在类型的值检查后,您需要将它转换为相应的类型,能够执行“的ToString”与格式参数调用。 尝试:

if (value is DateTime)
{
    var dateValue = value as DateTime;
    string date = dateValue.ToString("dd/MM/yyyy");
    return date; 
}


Answer 4:

如果您使用的是一个WPF DatePicker控件一个转换器,你应该注意的是,WPF的DatePicker本身会重新格式化日期,尽管您使用转换器 。 您将有风格的日期选择器包括一个的StringFormat 。

还有一个相关的问题在这里:如何只显示月年字符串格式在一个datepicker其中显示了一个附加属性修改的DatePicker的行为显示自定义格式。 这是因为在WPF日期选择控件本身缺陷的需要。

还要注意有一些注意事项,特别是会的DatePicker其默认的StringFormat并应用一个闪烁之间! 我在上面的问题回答了一个自定义格式应用到WPF日期选择一个解决办法 ,而不闪烁。

希望你找到你正在寻找的解决方案。



Answer 5:

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
    if (value is DateTime)
    {
        string date=value.Date.ToShortDateString();
        return (date);
    }

    return string.Empty;
}


文章来源: datetime converter WPF