0
我想從2017年10月20日前7天獲取日期,排除週末。如果2017年10月20日是星期五,7天前是指2017年10月11日。如何解決該問題?SQL - 獲取多個日期天數(排除週六和週日)
期望的結果是:
2017-10-19
2017-10-18
2017-10-17
2017-10-16
2017-10-13
2017-10-12
2017-10-11
我想從2017年10月20日前7天獲取日期,排除週末。如果2017年10月20日是星期五,7天前是指2017年10月11日。如何解決該問題?SQL - 獲取多個日期天數(排除週六和週日)
期望的結果是:
2017-10-19
2017-10-18
2017-10-17
2017-10-16
2017-10-13
2017-10-12
2017-10-11
你可以嘗試檢查它如何排除天有需要的時期。 例如,我們需要從今天到7天前的一天。 X(發現日期)= Y(現在的日期) - Z(7天,前期)。 然後我們試着每天檢查這個時間段[從12/10到19/10]。結果我們發現了2天,並且從Y天減少了。
LINQ的我,我們可以這樣寫功能:
private DateTime GetBeforeDateExcludeWeekends(DateTime FromDate, int Period)
{
DateTime tillBeforeDate = FromDate.Subtract(TimeSpan.FromDays(Period));
var weekendDayCnt =
Enumerable.Range(0, (FromDate - tillBeforeDate).Days + 1).Select(d => tillBeforeDate.AddDays(d))
.Where(day => day.DayOfWeek == DayOfWeek.Saturday || day.DayOfWeek == DayOfWeek.Sunday)
.Count();
return FromDate.Subtract(TimeSpan.FromDays(Period + weekendDayCnt));
}
對不起我的英語不好。 =)
請告訴我們你自己累了什麼..這不是代碼服務提供商網站... – MethodMan
查看DateTime.AddDays方法和DateTime.DayOfWeek屬性。有了這個和一個循環,你應該能夠產生期望的結果。 – juharr