c# - 计算未执行以计算 c#asp.net sql linq 中 2 个日期之间的总天数差异
问题描述
DateTime currentDate = DateTime.Now;
var query = (from m in db.Users where m.EmailAddress == emailAddress select m.Last_Login_Date).Single();
DateTime lastLoginDate = Convert.ToDateTime(query);
double diffDays = (currentDate - lastLoginDate).TotalDays;
if (diffDays < 72) {
Security.LoginUser(u.Name, u.Role, rememberMe);
u.Last_Login_Date = currentDate;
} else {
Response.Redirect("ResetPwd.aspx");
}
我尝试执行计算以找出总天数的差异。因此,如果差值大于 72 天,他们将被迫进行重置密码。但现在无法执行公式。我认为我的代码有一些错误。所以 currentDate 和 db.Users Last_Login_Date 是 DateTime 类型。任何人都知道如何进行计算,或者我应该将我的 UserDB Last_Login_Date 更改为字符串类型吗?
解决方案
请尝试以下操作:
//DateTime.Subtract() method will return a 'TimeSpan' value.
var timeSpan = currentDate.Subtract(lastLoginDate);
var diffDays = timeSpan.Days;
if(diffDays < 72)
{
//Code here.
}
工作解决方案在以下链接中:
推荐阅读
- python - 使用旧电子邮件更新电子邮件时,UniqueValidator 抛出错误
- docker - 通过 terraform 获取 GCR 图像摘要的最简单方法是什么?
- html - 我应该如何在 TwinCAT HMI 中使用图标字体?
- powershell - 我想用 ftp 创建一个持久的映射网络驱动器
- java - java spring项目仅在第一次运行时显示错误,再次运行后运行正常。这是为什么?
- python - Python Seaborn 绘制空白直方图
- git - 我们如何从已经安装了 git 的 Google Cloud Shell 连接到 git 帐户?
- python - 从 x,y 数据集计算曲线下面积,在 python 中甚至没有 x 步
- javascript - Firebase set user from auth to firestore
- javascript - TypeORM 查询今天的所有记录