我尝试将DateTime
转换为字符串,但实际上dt
方法中传递的getFixtures
变量以红色加下划线。
DateTime dt = DateTime.ParseExact(Calendar.SelectedDate.Value.ToString(), "ddMMyyyy",
CultureInfo.InvariantCulture);
dt.ToString("ddMMyyyy");
fixtures.getFixtures(dt);
错误:
无法将DateTime转换为字符串。
我做错了什么?
答案 0 :(得分:7)
似乎您希望将字符串传递给getFixtures
,但实际上您传递的dt
是DateTime
。
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