.NET Core Razor视图如何将SQL的time(7)字段显示为hh:mm格式
你遇到的问题是因为SQL Server的time(7)类型映射到.NET中默认是TimeSpan类型,而非DateTime类型,你之前用的ToString("hh:mm")是DateTime的格式化规则,不适用于TimeSpan,所以不生效。
你可以任选以下任意一种方案实现需求:
- 直接使用TimeSpan的自定义格式化语法,注意转义时间分隔符:
如果你需要24小时制格式,将@item.TimeMatch.ToString(@"hh\:mm")hh替换为大写的HH即可。 - 先转为DateTime类型再做格式化:
@(new DateTime(item.TimeMatch.Ticks).ToString("HH:mm")) - 如果字段存在空值可能,补充空值判断避免抛出异常:
@(item.TimeMatch?.ToString(@"hh\:mm") ?? "")
内容的提问来源于stack exchange,提问作者Nguyen Tuan Anh
相关产品推荐
相关产品推荐

