PDA

View Full Version : سوال: بدست آوردن هفته جاری با LINQ



vbiman
دوشنبه 27 دی 1395, 15:05 عصر
با سلام
من می خوام رکوردهای هفته جاری رو لیست کنم و یک فیلد به اسم XMLdate هم در table دارم . حالا چه جوری تاریخ اول هفته رو بدست بیارم تا بتونم با استفاده از linq بهش بگم رکوردهای هفته جاری رو بدست بیاره؟؟
در ضمن تاریخی که باهاش کار می کنم میلادی هست و نتیچه رو هم به میلادی می خوام (هفته از دوشنبه شروع میشه)

Mahmoud.Afrad
چهارشنبه 29 دی 1395, 00:15 صبح
DateTime dtToday = DateTime.Today;
int dayOfWeekForToday = (int) dtToday.DayOfWeek;
int difference = dayOfWeekForToday - 1;
DateTime dtFirstDayOfWeekFromToday = dtToday.AddDays(-difference);

ژیار رحیمی
چهارشنبه 29 دی 1395, 12:16 عصر
شما برای لیست کردن رکوردهای هفته جاری به تاریخ شروع هفته و تاریخ پایان هفته را لازم داری که در کویری استفاده کنی.

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);