PDA

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



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

Mahmoud.Afrad
سه شنبه 28 دی 1395, 23:15 عصر
DateTime dtToday = DateTime.Today;
int dayOfWeekForToday = (int) dtToday.DayOfWeek;
int difference = dayOfWeekForToday - 1;
DateTime dtFirstDayOfWeekFromToday = dtToday.AddDays(-difference);

ژیار رحیمی
چهارشنبه 29 دی 1395, 11: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);