我以完整的dateTime格式从db获取值,但需要将其转换为上述格式的字符串。我使用了dateTime.ParseExact,但似乎无法使用可空类型..请帮助
答案 0 :(得分:13)
使用可为空的DateTime对象的Value属性:
dt.HasValue ? dt.Value.ToString("dd-MM-yyyy") : string.Empty;
将'string.Empty'替换为您想要做的任何事情,如果它为null。
答案 1 :(得分:2)
听起来你只需要使用可空字段的value属性:
Datetime? readValue;
readValue.Value.ToString("dd-MM-yyyy");
如果要从字符串转换,则只需要使用ParseExact。
答案 2 :(得分:1)
DateTime? d = null;
string s = d?.ToString("dd-MM-yyyy"); // s = null
或字符串插值和string.Format
:
string s1 = $"{d:dd-MM-yyyy}"; // s1 = ""
string s2 = string.Format("{0:dd-MM-yyyy}", d); // s2 = ""
答案 3 :(得分:0)
您可以使用Parse方法将字符串转换为DateTime
Nullable<DateTime> d;
d = DateTime.Parse("1996-07-12 00:00:00.000");
if (d.HasValue)
{
Console.WriteLine(d.Value.ToString("dd-MM-yyyy"));
}