DateTime.Now.AddDays(-i).Date预期行为不一致 返回
SqlSugar
待处理
1
70
itben 发布于1周前
悬赏:5 飞吻
for (int i = 0; i < days; i++)
{
Console.WriteLine($"{i} {DateTime.Now.AddDays(-i).Date}");
var vipCount = await DbScoped.SugarScope.Queryable<MainTask>()
.Where(x => x.Id == id && x.Type == type && x.CreateTime.Date == DateTime.Now.AddDays(-i).Date)
.SumAsync(x => x.CompleteCount);
}输出:
6 2026/1/30 0:00:00 这儿每次循环正常输出
SELECT SUM(`CompleteCount`) FROM `MainTask` WHERE ((( `Id` = '111' ) AND ( `Type` = 3 )) AND ( strftime('%Y-%m-%d', `CreateTime`) = strftime('%Y-%m-%d', DATETIME(DATETIME('2026-02-05 01:52:48.104'), '+ Days')) ))
但是sql语句处理当前时间的时间部分在变化以外,红色日期部分一直不变
DateTime.Now.AddDays(-i).Date
预期行为应该是日期随着循环次数减少,但是实际却一直保持不变
热忱回答(1)
-
itben VIP0
1周前已解决,问题出在
DateTime.Now.AddDays(-i).Date
sqlsugar无法正确处理linq中的-i
将日期提前计算好即可解决问题
0 回复