正如我上面的标题,我的数据库中有一个DateTime
数据类型的表,它是空值。我得到了我正在使用的这行代码,但我不知道为什么它会返回12:00
string FitaCorIn1 = Convert.ToDateTime(req.FACorrectionIn1).ToString("hh:mm") == null ? "00:00" : Convert.ToDateTime(req.FAIn1).ToString("hh:mm");
string FitaCorOut1 = Convert.ToDateTime(req.FACorrectionOut1).ToString("hh:mm") == null ? "00:00" : Convert.ToDateTime(req.FAIn1).ToString("hh:mm");
因此,您可以在我的代码中看到如果datetime的值为null,我想显示00:00
,如果它不为null,它将显示当前值。
注意
12小时格式
答案 0 :(得分:1)
您应该在转换之前检查null,否则您可能会从convert方法获得异常。 (根据评论)FACorrectionIn1
似乎是DateTime类型,如果是这样你必须检查它们与DateTime.MinValue
的比较,如果它是可以为空的DateTime,你也可以检查null。
为什么即使数据库中的值为
12:00
,也会得到FACorrectionIn1
空
同样的原因01/01/0001 00:00:00
是一个DateTime对象,因此它不会为null,因此检查null的条件变为false,因为它的默认值为.ToString("hh:mm")
。因此,当您使用12:00
对其进行格式化时,您将获得string FitaCorIn1 = req.FACorrectionIn1 == DateTime.MinValue ? "00:00" :
Convert.ToDateTime(req.FAIn1).ToString("hh:mm");
。所以你必须这样做:
Convert.To..
如果您使用解析代替<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1</version>
</project>
答案 1 :(得分:0)
您应该使用HH:mm
格式。
Convert.ToDateTime(req.FAIn1).ToString("HH:mm");
答案 2 :(得分:0)
我现在得到了..感谢spencer7593
..这是我现在的代码。
string FitaCorIn1 = req.FACorrectionIn1 == null ? "00:00" : Convert.ToDateTime(req.FACorrectionIn1).ToString("hh:mm");
string FitaCorOut1 = req.FACorrectionOut1 == null ? "00:00" : Convert.ToDateTime(req.FACorrectionOut1).ToString("hh:mm");