我想更改日期时间的格式,但我收到错误:
方法没有超载' ToString'需要1个参数
string ret = person.ArkivDate.ToString("yyyy-MM-dd")
ArkivDate的类型是DateTime?
我该如何解决?
答案 0 :(得分:4)
我猜您正在混淆DateTime
和DateTime?
使用ArkivDate.Value.ToString("yyyy-MM-dd")
代替
因此您的代码应如下所示:
string ret = person.ArkivDate.HasValue ? person.ArkivDate.Value.ToString("yyyy-MM-dd") : String.Empty;
答案 1 :(得分:0)
我同意fubo的猜测person.ArkivDate
实际上是{em> C#6.0 中的DateTime?
您可以使用简单的?.
语法({{ 1}}而不是?.ToString()
):
.ToString()
因此,当string ret = person.ArkivDate?.ToString("yyyy-MM-dd");
为ArkivDate
时,null
也将为ret
,否则null
将包含格式化的日期表示。