بدست آوردن هفته جاری با LINQ
با سلام
من می خوام رکوردهای هفته جاری رو لیست کنم و یک فیلد به اسم XMLdate هم در table دارم . حالا چه جوری تاریخ اول هفته رو بدست بیارم تا بتونم با استفاده از linq بهش بگم رکوردهای هفته جاری رو بدست بیاره؟؟
در ضمن تاریخی که باهاش کار می کنم میلادی هست و نتیچه رو هم به میلادی می خوام (هفته از دوشنبه شروع میشه)
نقل قول: بدست آوردن هفته جاری با LINQ
DateTime dtToday = DateTime.Today;
int dayOfWeekForToday = (int) dtToday.DayOfWeek;
int difference = dayOfWeekForToday - 1;
DateTime dtFirstDayOfWeekFromToday = dtToday.AddDays(-difference);
نقل قول: بدست آوردن هفته جاری با LINQ
شما برای لیست کردن رکوردهای هفته جاری به تاریخ شروع هفته و تاریخ پایان هفته را لازم داری که در کویری استفاده کنی.
public static DateTime[] GetStartAndEndDaysOfCurrentWeek(int weekNum = 0)
{
var currentDate = DateTime.Now.Date.AddDays(weekNum * 7);
var dayOfWeekForcurrentDate = (int)currentDate.DayOfWeek;
var startDayOfWeek = currentDate.Date.AddDays(dayOfWeekForcurrentDate - 6);
var endDayOfWeek = currentDate.Date.AddDays(6 - dayOfWeekForcurrentDate);
return new[] { startDayOfWeek.Date , endDayOfWeek.Date };
}
نحوه فراخوانی برای هفته جاری
var daysArray = GetStartAndEndDaysOfCurrentWeek();
و یک هفته بعد
var daysArray = GetStartAndEndDaysOfCurrentWeek(1);