我试图在我的数据库中获取日期,我尝试了不同的方法,但似乎没有任何效果
这是我在数据库“2024-04-18 19:47:36.337”上的日期,其类型为日期时间,我在 C# 上使用 Microsoft sql server 和entityFramework,变量是 public DateTime InitH { get;放; }
我的查询比这更复杂,但我发现问题是日期。所以我尝试获得搜索日期的最佳解决方案
public void obtenerFechaHarcodeada()
{
DateTime fecha = new DateTime(2024, 4, 18, 19, 47, 36);
var registro = _dbContext.AssignmentRecords
.FirstOrDefault(r=> r.InitH == fecha);
}
有什么想法吗?
我试图保存相同的日期和相同的变量以在数据库中搜索,但它永远不起作用
在我的示例中将日期时间双方都转换为相同的格式,我将毫秒归零并进行比较
void Main()
{
var dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] { new DataColumn("ID", typeof(int)), new DataColumn("DATETIME", typeof(DateTime))});
dt.Rows.Add(1, "2024-04-18 19:47:36.337");
dt.Rows.Add(2, "2024-04-18 19:47:36.222");
dt.Rows.Add(3, "2024-04-18 19:47:38.000");
DateTime fecha = new DateTime(2024, 4, 18, 19, 47, 36).Dump();
dt.AsEnumerable().Where(w=>
w.Field<DateTime>("DATETIME").AddMilliseconds(-w.Field<DateTime>("DATETIME").Millisecond) == fecha).Dump();
}
结果将是(前 2 行)