gpt4 book ai didi

c# datetime 值基于当前日期传递

转载 作者:行者123 更新时间:2023-11-30 20:12:15 25 4
gpt4 key购买 nike

我正在尝试从 sql server 中获取基于两个日期的记录...从表中选择 *,其中 CreatedDate 在 @StartDate 和 @EndDate 之间 并且我传递了 5/12/20105/12/2010(即)获取今天的记录...我有 17 条记录日期为 5/12/2010 但似乎没有一条被选中...

编辑:我使用它但是当我调试我的值时它显示 5/12/2010 12:00:00AM

    DateTime baseDate = DateTime.Today;
var today = baseDate;
GetBookingReportByDate(today,today);

我在 C# 中使用这些和一个以 startdatelastdate 作为参数的可重用存储过程,

DateTime baseDate = DateTime.Today;

var today = baseDate;
var yesterday = baseDate.AddDays(-1);
var thisWeekStart = baseDate.AddDays(-(int)baseDate.DayOfWeek);
var thisWeekEnd = thisWeekStart.AddDays(7).AddSeconds(-1);
var lastWeekStart = thisWeekStart.AddDays(-7);
var lastWeekEnd = thisWeekStart.AddSeconds(-1);
var thisMonthStart = baseDate.AddDays(1 - baseDate.Day);
var thisMonthEnd = thisMonthStart.AddMonths(1).AddSeconds(-1);
var lastMonthStart = thisMonthStart.AddMonths(-1);
var lastMonthEnd = thisMonthStart.AddSeconds(-1);

我使用这些值并仅根据开始日期和最后日期获取记录...完全像 stackoverflow 今天、昨天、本周、上周、本月、上个月....

最佳答案

您没有包括时间部分...所以两者都被解析为相同的值。

你需要:

SELECT *
FROM Table
WHERE CreatedDate >= '5/12/2010 00:00:00'
AND CreatedDate <= '5/12/200 23:59:59'

或者:

SELECT *
FROM Table
WHERE CreatedDate >= @StartDate
AND CreatedDate <= DATEADD(day, 1, @StartDate)

更新

看到您的更新后,像我的第二个示例那样更改查询仍然有效。您还可以在 C# 代码中进行更改:

GetBookingReportByDate(today, today.AddDays(1));

关于c# datetime 值基于当前日期传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2821358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com