无法将DateTime转换为字符串

时间:2015-07-31 11:25:37

标签: c# wpf datetime

我尝试将DateTime转换为字符串,但实际上dt方法中传递的getFixtures变量以红色加下划线。

DateTime dt = DateTime.ParseExact(Calendar.SelectedDate.Value.ToString(), "ddMMyyyy",
                                  CultureInfo.InvariantCulture);
dt.ToString("ddMMyyyy");

fixtures.getFixtures(dt);

错误:

  

无法将DateTime转换为字符串。

我做错了什么?

4 个答案:

答案 0 :(得分:7)

似乎您希望将字符串传递给getFixtures,但实际上您传递的dtDateTime

dt.ToString("ddMMyyyy");不会将dt更改为string,因此您应将其输出保存为字符串并使用该字符串。这是代码:

var stringDt = dt.ToString("ddMMyyyy");

fixtures.getFixtures(stringDt );

答案 1 :(得分:5)

您的代码:

dt.ToString("ddMMyyyy");
fixtures.getFixtures(dt);

如果要在方法中传递datetime的字符串表示形式,请将其更改为:

fixtures.getFixtures(dt.ToString("ddMMyyyy"));

答案 2 :(得分:0)

而不是dt.ToString("ddMMyyyy"); fixtures.getFixtures(dt);

使用

string dttime=dt.ToString("ddMMyyyy");
fixtures.getFixtures(dttime); 

使用dt.ToString("ddMMyyyy")    不会将dt转换为字符串,它只返回一个新字符串,dt保持日期时间。

答案 3 :(得分:0)

这是一种古老的方式,但它有效。我加入了模型。

private string _displayDate;

    [Display(Name="Display Date")]
    [DataType(DataType.Text)]
    public string DisplayDate
    {
        get
        {
            DateTime dt = new DateTime();
            dt = Convert.ToDateTime(_displayDate);
            return dt.ToShortDateString();
        }
        set { _displayDate = value; }

    }

//显示:3/2/1996