从Nullable TimeSpan获取Am / PM值

时间:2016-09-27 19:08:58

标签: c# datetime timespan

我从收到的TimeSpan类数据库中获取时间。为了显示为Am / PM,我将其切换到DateTime

 @string.Format("{0:hh:mm:ss tt}", new DateTime().Add(t.BegTime))

这很有用。

一旦我改变了TimeSpan以允许Nulls它就停止了工作。为什么?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

...试

select date_format(str_to_date("AUG2016", '%b%Y'), '%m-01-%Y')

这个答案也假设t.BegTime是一个Nullable TimeSpan

答案 1 :(得分:0)

试试这个......

@string.Format("{0:hh:mm:ss tt}", new DateTime().Add(t.BegTime.Value))

Nullable类型具有" Value"属性。有关详细信息,请参阅https://msdn.microsoft.com/en-us/library/ydkbatt6(v=vs.110).aspx

编辑:正如Igor所指出的,如果BegTime为Null,此代码将失败。你有责任用一个保护声明来包装它来检查这种可能性。