WEB API 如何将日期时间与附加时间跨度进行比较
WEB API how to compare date time with additional time span
我创建了一个 WEB API
,我在其中发送了一个 serial number
和一个 date time
。结果它给了我 last/latest 记录值。
我做了什么
下面是我的控制器代码
var dateTime = dt.ToString(); // dt is the user sent date time
var result = medEntitites.tj_xhqd.Where(m => m.zdjh == msn) // msn is the serial number
.OrderByDescending(o => o.sjsj)
.Select(s => s.sjsj)//sjsj is datetime in DB
.First().ToString();
我正在通过 Postman
测试 API
。我发送的日期时间格式为 T
,如 2017-10-22T13:30:20
,在控制器中日期时间为 10/22/2017 1:30:20 PM
作为响应 result
获取 last/latest 记录的日期时间 10/21/2017 6:15:08 PM
API URL: http://localhost:14909/api/meters/GetByMsn/002999000536/2017-10-22T13:30:20
我想做什么?
现在我想比较 user sent
日期时间和 resulted
日期时间,结果日期时间在用户发送日期时间的 10 minutes
时间跨度内考虑到日期相同,即如果结果日期时间在当前日期时间的 10 分钟时间跨度内,那么它将发送 YES
响应,否则 NO
我知道什么?
我知道如何 add or subtract minutes
以及如何比较两个日期时间,我也知道如何根据结果设置响应。
我面临的问题是检查时间跨度
如有任何帮助,我们将不胜感激。
这是一种以分钟为单位检查时差的简单方法。
DateTime userSent = new DateTime(2017, 10, 22, 13, 20, 20);
DateTime result = new DateTime(2017, 10, 22, 18, 15, 08);
double diffInMinutes = Math.Abs((result - userSent).TotalMinutes); // can be negative
if(diffInMinutes <= 10)
return "Yes";
else
return "No";
我创建了一个 WEB API
,我在其中发送了一个 serial number
和一个 date time
。结果它给了我 last/latest 记录值。
我做了什么
下面是我的控制器代码
var dateTime = dt.ToString(); // dt is the user sent date time
var result = medEntitites.tj_xhqd.Where(m => m.zdjh == msn) // msn is the serial number
.OrderByDescending(o => o.sjsj)
.Select(s => s.sjsj)//sjsj is datetime in DB
.First().ToString();
我正在通过 Postman
测试 API
。我发送的日期时间格式为 T
,如 2017-10-22T13:30:20
,在控制器中日期时间为 10/22/2017 1:30:20 PM
作为响应 result
获取 last/latest 记录的日期时间 10/21/2017 6:15:08 PM
API URL: http://localhost:14909/api/meters/GetByMsn/002999000536/2017-10-22T13:30:20
我想做什么?
现在我想比较 user sent
日期时间和 resulted
日期时间,结果日期时间在用户发送日期时间的 10 minutes
时间跨度内考虑到日期相同,即如果结果日期时间在当前日期时间的 10 分钟时间跨度内,那么它将发送 YES
响应,否则 NO
我知道什么?
我知道如何 add or subtract minutes
以及如何比较两个日期时间,我也知道如何根据结果设置响应。
我面临的问题是检查时间跨度
如有任何帮助,我们将不胜感激。
这是一种以分钟为单位检查时差的简单方法。
DateTime userSent = new DateTime(2017, 10, 22, 13, 20, 20);
DateTime result = new DateTime(2017, 10, 22, 18, 15, 08);
double diffInMinutes = Math.Abs((result - userSent).TotalMinutes); // can be negative
if(diffInMinutes <= 10)
return "Yes";
else
return "No";