mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-11-08 18:34:55 +08:00
Update split table bug
This commit is contained in:
@@ -909,6 +909,21 @@ namespace SqlSugar
|
||||
{
|
||||
result = result.Where(y => y.Date.Year >= beginTime.Year && y.Date.Year <= endTime.Year).ToList();
|
||||
}
|
||||
else if (SplitType.Week == type.SplitType)
|
||||
{
|
||||
var begtinWeek = UtilMethods.GetWeekFirstDayMon(beginTime).Date;
|
||||
var endWeek = UtilMethods.GetWeekLastDaySun(endTime).Date;
|
||||
result = result.Where(y =>
|
||||
y.Date >= begtinWeek&& y.Date <= endWeek).ToList();
|
||||
}
|
||||
else if (SplitType.Season == type.SplitType)
|
||||
{
|
||||
|
||||
var beginSeason= Convert.ToDateTime( beginTime.AddMonths(0 - ((beginTime.Month - 1) % 3)).ToString("yyyy-MM-01")).Date;
|
||||
var endSeason= DateTime.Parse(endTime.AddMonths(3 - ((endTime.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).Date;
|
||||
result = result.Where(y =>
|
||||
y.Date >= beginSeason && y.Date <= endSeason).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
result = result.Where(y => y.Date >= beginTime.Date && y.Date <= endTime.Date).ToList();
|
||||
|
||||
@@ -505,5 +505,40 @@ namespace SqlSugar
|
||||
return item.FieldValue;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get Week Last Day Sun
|
||||
/// </summary>
|
||||
/// <param name="datetime"></param>
|
||||
/// <returns></returns>
|
||||
public static DateTime GetWeekLastDaySun(DateTime datetime)
|
||||
{
|
||||
//星期天为最后一天
|
||||
int weeknow = Convert.ToInt32(datetime.DayOfWeek);
|
||||
weeknow = (weeknow == 0 ? 7 : weeknow);
|
||||
int daydiff = (7 - weeknow);
|
||||
|
||||
//本周最后一天
|
||||
string LastDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");
|
||||
return Convert.ToDateTime(LastDay);
|
||||
}
|
||||
/// <summary>
|
||||
/// Get Week First Day Mon
|
||||
/// </summary>
|
||||
/// <param name="datetime"></param>
|
||||
/// <returns></returns>
|
||||
public static DateTime GetWeekFirstDayMon(DateTime datetime)
|
||||
{
|
||||
//星期一为第一天
|
||||
int weeknow = Convert.ToInt32(datetime.DayOfWeek);
|
||||
|
||||
//因为是以星期一为第一天,所以要判断weeknow等于0时,要向前推6天。
|
||||
weeknow = (weeknow == 0 ? (7 - 1) : (weeknow - 1));
|
||||
int daydiff = (-1) * weeknow;
|
||||
|
||||
//本周第一天
|
||||
string FirstDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");
|
||||
return Convert.ToDateTime(FirstDay);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user