问题描述
|
我正在asp.net,mvc / c#中的报告上工作,并且我想在报告中显示没有时间的日期,所以不是
12/3/2011 00:00:00 ------至------ 12/3/2011
我正在为显示日期的文本框使用此表达式:
=FormatDateTime(Fields!DateClosed.Value)
对于带有日期的项目,它确实可以正确显示而没有时间-但是对于列表中没有日期的其他项目,它们显示时间的方式如下:12:00:00 AM
如何固定表达式,以便仅在有日期显示时才显示日期,而在日期不可用时不显示时间。
解决方法
怎么样:
=(DateClosed==null) ? FormatDateTime(DateClosed) : string.Empty;
另外,您可能会使用
=(DateClosed==null) ? DateClosed.Value.ToString(\"mm dd yyyy\") : string.Empty;
而不是调用单独的“ 3”函数(当然,除非您需要集中日期格式,但这可以通过将格式存储在web.config中进行处理)。
甚至
string FormatDateTime(DateTime? date)
{
var result = date==null ? date.ToString(\"mm dd yyyy\") : string.Empty;
}
如果您不想将三元条件放在标记中。
, 所以我玩了这个游戏,并使用了另一种格式表示法,幸运的是效果很好。谢谢大家的帮助。
=Format(Fields!DateClosed.Value,\"d\")
, 检查日期是否为空,然后将其设置为“ 6”