如何在 C# 中分析可为空的日期时间对象
本文关键字:日期 对象 时间 | 更新日期: 2023-09-27 18:33:53
command.Parameters.Add("@EndDate", SqlDbType.DateTime).Value =
EndDate == null ?
(DateTime?)null :
DateTime.Parse(EndDate.ToShortDateString() + " " + EndTime);
EndDate 的类型是 DateTime?,而 EndTime 只是一个包含时间的字符串。但它在解析时给了我错误,因为 EndDate 是一个可为空的日期时间。我该如何解析?
因为 EndDate 是可为空的,因此您可以像这样解析它。
DateTime.Parse(EndDate.Value.ToShortDateString() + " " + EndTime);
尝试使用以下方法获取值
DateTime.Parse(EndDate.GetValueOrDefault().ToShortDateString() + " " + EndTime);
我通常使用default(DateTime?)
,您还需要强制转换为可为空的DateTime对象:
return EndDate.HasValue ? DateTime.Parse(EndDate.Value.ToShortDateString() + " " + EndTime) as DateTime? : default(DateTime?)
你需要使用: EndDate.HasValue.ToShortDateString():
转换代码:
command.Parameters.Add("@EndDate", SqlDbType.DateTime).Value =
EndDate.HasValue == false ?
(DateTime?)null :
DateTime.Parse(EndDate.HasValue.ToShortDateString() + " " + EndTime);
您还可以编写以下内容:
var endDateParameter = endDate.HasValue ?
new SqlParameter("EndDate", DateTime.Parse(EndDate.HasValue.ToShortDateString() + " " + EndTime)) :
new SqlParameter("EndDate", typeof(System.DateTime));
干杯诺亚