不能将DateTime转换为字符串

本文关键字:字符串 转换 DateTime 不能 | 更新日期: 2023-09-27 18:05:47

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

DateTime dt = DateTime.ParseExact(Calendar.SelectedDate.Value.ToString(), "ddMMyyyy",
                                  CultureInfo.InvariantCulture);
dt.ToString("ddMMyyyy");
fixtures.getFixtures(dt);
错误:

无法将DateTime转换为字符串。

我做错了什么?

不能将DateTime转换为字符串

似乎你想传递一个字符串到getFixtures,但实际上你正在传递dt,这是一个DateTime

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

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

代码:

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

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

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

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

使用

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

不会将dt转换为字符串,它只是返回一个新的字符串,dt保持datetime不变。

这是一种老方法,但它有效。我添加到模型。

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