这令人困惑,我想要的只是DateTime中的时间?
这是我的代码:
clsdbo_RR.DateRecd = reader["DateRecd"] is DBNull ? null : (DateTime?)reader["DateRecd"];
clsdbo_RR.TimeRecd = reader["TimeRecd"] is DBNull ? null : reader["TimeRecd"].ToString("hh:mm:ss");
我的日期正确显示为日期,但时间未显示?
private Nullable<DateTime> m_TimeRecd;
public Nullable<DateTime> DateRecd
{
get
{
return m_DateRecd;
}
set
{
m_DateRecd = value;
}
}
答案 0 :(得分:0)
我强烈怀疑您的reader["TimeRecd"]
返回了object
,这就是为什么您需要像之前一样将其强制转换为DateTime
(或DateTime?
)的原因),然后再调用ToString
方法。如果不进行强制转换,它可能会调用object.ToString
方法,而不是DateTime.ToString
。
如果您的clsdbo_RR.TimeRecd
是string
,则只需使用(DateTime?)reader["TimeRecd"].ToString("hh:mm:ss")
即可;
clsdbo_RR.TimeRecd = reader["TimeRecd"] is DBNull ?
null : (DateTime?)reader["TimeRecd"].ToString("hh:mm:ss");