C# 如何获取当前日期和其他日期之间的日期差(以天为单位),以字符串形式输入?
C# 如何获取当前日期和其他日期之间的日期差(以天为单位),以字符串形式输入?,c#,C#,upgradeDate作为字符串从数据库中输入。在最后一行中,我还得到了一个upgradeDate的未分配变量错误。您可以这样做: string upgradeDate = ""; TimeSpan dateDifference; if (!sqlDR.IsDBNull(3)) upgradeDate = sqlDR.GetString(3); dateDifference = (DateTime.Now - Convert.ToDateTime(upgradeDate)).TotalDays
upgradeDate
作为字符串从数据库中输入。在最后一行中,我还得到了一个upgradeDate
的未分配变量错误。您可以这样做:
string upgradeDate = "";
TimeSpan dateDifference;
if (!sqlDR.IsDBNull(3)) upgradeDate = sqlDR.GetString(3);
dateDifference = (DateTime.Now - Convert.ToDateTime(upgradeDate)).TotalDays;
如果sqlDR.IsDBNull(3)
则dateDifference
将为空
您也可以从TimeSpan-dateDifference=TimeSpan.Zero开始代码>由您决定
但你肯定要读到这一点:,正如@stuartd所说。这大概是不可编译的TotalDays
返回一个双精度值,但您正试图将其分配给定义为时间跨度的dateDifference
。知道我为什么在最后一行中得到upgradeDate的未分配变量错误吗?如果可能,我建议您始终以日期数据类型将日期保存在DB中,而不是作为字符串。@stuartd除非分配了upgradeDate
。我真想知道这是否是导致编译错误的实际代码。无法将double
分配给TimeSpan?
。您需要删除.TotalDays
。
TimeSpan? dateDifference = null;
if (!sqlDR.IsDBNull(3)) {
string upgradeDate = sqlDR.GetString(3);
dateDifference = DateTime.Now - Convert.ToDateTime(upgradeDate);
}