繁体   English   中英

ASP.NET Core 2.1和EF Core 2.1日期比较在服务器上不起作用

[英]asp.net core 2.1 ef core 2.1 date compare not working on server

嗨,我在asp.net core 2.1中遇到了一个非常奇怪的问题,我在查询中选择了特定日期的一些数据,例如

var balances = dbContext.Balances.Where(x => x.BalanceDate.Date == workDay.Date); 

但是查询正在本地ENV上运行,甚至当我连接到远程SQL Server时也是如此。 但在服务器端,它不会返回任何结果。

它可能与SQL Server的DateTime类型中包含的时区或毫秒有关。 这可能是上述原因之一,您可以执行此操作(仅==比较)

 var balances = dbContext.Balances.Where(x => 
     x.BalanceDate./*Date.*/Year == workDay/*.Date*/.Year &&
     x.BalanceDate./*Date.*/Month == workDay/*.Date*/.Month &&
     x.BalanceDate./*Date.*/Day == workDay/*.Date*/.Day); 

PS:管理/统一时区偏移量或在处理日期类型时使用UTC始终是一个好习惯。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM