如何筛选数据库中创建时间为6小时前的对象数组?
获取数据库中6小时内插入的数据的筛选逻辑修改
直接把代码里的AddDays(-1)替换成AddHours(-6)即可,修改后的代码如下:
var recentVotes = _votes.Where(x => x.Created >= DateTime.Now.AddHours(-6)).ToList();
说明
原来的DateTime.Now.AddDays(-1)是计算当前时间往前推1天的时间点,所以会返回1天内的数据。换成AddHours(-6)后,会计算当前时间往前推6小时的时间点,筛选条件就会只保留Created时间在这个时间点之后的数据,也就是最近6小时插入的记录。
额外注意
如果你的数据库中Created字段存储的是UTC时间,建议使用DateTime.UtcNow代替DateTime.Now,避免时区差异导致的筛选偏差,示例代码:
var recentVotes = _votes.Where(x => x.Created >= DateTime.UtcNow.AddHours(-6)).ToList();
内容的提问来源于stack exchange,提问作者Kate
相关产品推荐
相关产品推荐

