更改DateTime的格式

时间:2016-03-23 12:40:52

标签: c#

我想更改日期时间的格式,但我收到错误:

  

方法没有超载' ToString'需要1个参数

string ret = person.ArkivDate.ToString("yyyy-MM-dd")

ArkivDate的类型是DateTime?

我该如何解决?

2 个答案:

答案 0 :(得分:4)

我猜您正在混淆DateTimeDateTime?

使用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将包含格式化的日期表示。