'string' 到 'System.IFormatProvider' 错误
'string' to 'System.IFormatProvider' Error
我试图在 C# 中获取“以前”的时间,但目前正在努力解决此错误。
基本上这就是我正在尝试的。
var dateAgo = $"{DateTime.Now.Subtract(booking.CreatedAt.Date)}";
booking.createdAt.Date
是保存我的预订日期的地方。
我可以在 HTML 中显示 @dateAgo
但问题是当我尝试
@DateTime.Now.Date.Subtract(booking.CreatedAt.Date).ToString("d")
遗憾的是,这不起作用。
使用DateTime.Now.Subtract(booking.CreatedAt.Date).Days
Subtract()
产生一个 TimeSpan
,即 incompatible with using the "d" format specifier by itself。尝试别的东西,例如.ToString("%d")
或 .ToString("c")
.
或者,如果需要,TimeSpan 提供 .Days
、.Hours
等属性,可以代替使用。
DateTime.Subtract()
产生一个 TimeSpan
对象。 ToString("d")
不是标准的 TimeSpan
格式字符串。参见 Standard TimeSpan
Format Strings。
您想要输出天数的自定义格式字符串"d"
。为此,将 "d"
更改为 "%d"
:
@DateTime.Now.Date.Subtract(booking.CreatedAt.Date).ToString("%d")
或者您可以简单地从 returned TimeSpan
对象中提取 Days
,这将 return 天数:
@DateTime.Now.Date.Subtract(booking.CreatedAt.Date).Days.ToString()
我试图在 C# 中获取“以前”的时间,但目前正在努力解决此错误。
基本上这就是我正在尝试的。
var dateAgo = $"{DateTime.Now.Subtract(booking.CreatedAt.Date)}";
booking.createdAt.Date
是保存我的预订日期的地方。
我可以在 HTML 中显示 @dateAgo
但问题是当我尝试
@DateTime.Now.Date.Subtract(booking.CreatedAt.Date).ToString("d")
遗憾的是,这不起作用。
使用DateTime.Now.Subtract(booking.CreatedAt.Date).Days
Subtract()
产生一个 TimeSpan
,即 incompatible with using the "d" format specifier by itself。尝试别的东西,例如.ToString("%d")
或 .ToString("c")
.
或者,如果需要,TimeSpan 提供 .Days
、.Hours
等属性,可以代替使用。
DateTime.Subtract()
产生一个 TimeSpan
对象。 ToString("d")
不是标准的 TimeSpan
格式字符串。参见 Standard TimeSpan
Format Strings。
您想要输出天数的自定义格式字符串"d"
。为此,将 "d"
更改为 "%d"
:
@DateTime.Now.Date.Subtract(booking.CreatedAt.Date).ToString("%d")
或者您可以简单地从 returned TimeSpan
对象中提取 Days
,这将 return 天数:
@DateTime.Now.Date.Subtract(booking.CreatedAt.Date).Days.ToString()