从DateTime获取时间

时间:2019-03-22 14:03:22

标签: c# datetime time

这令人困惑,我想要的只是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;
    }
}

1 个答案:

答案 0 :(得分:0)

强烈怀疑您的reader["TimeRecd"]返回了object,这就是为什么您需要像之前一样将其强制转换为DateTime(或DateTime?)的原因),然后再调用ToString方法。如果不进行强制转换,它可能会调用object.ToString方法,而不是DateTime.ToString

如果您的clsdbo_RR.TimeRecdstring,则只需使用(DateTime?)reader["TimeRecd"].ToString("hh:mm:ss")即可;

clsdbo_RR.TimeRecd = reader["TimeRecd"] is DBNull ? 
                     null : (DateTime?)reader["TimeRecd"].ToString("hh:mm:ss");