PDA

View Full Version : بدست آوردن تعداد جمعه های بین دو تاریخ



رامین مرادی
سه شنبه 04 مهر 1396, 09:48 صبح
وقت بخیر. دوستان چجوری میشه تعداد جمعه های بین دو تاریخ رو بدست آورد . مثلا از تاریخ 1396/06/18 تا 1396/07/02 چند تا جمعه وجود داره؟
آیا امکان این که اینو میشه تو اسکیو ال هم بدست آورد یا نه، وجود داره؟:متفکر:

danialafshari
سه شنبه 04 مهر 1396, 10:57 صبح
با سلام
می تونید از کلاس TimeSpan استفاده کنید
static int CountDays(DayOfWeek day, DateTime start, DateTime end) {
TimeSpan ts = end - start;
int count = (int)Math.Floor(ts.TotalDays / 7);
int remainder = (int)(ts.TotalDays % 7);
int sinceLastDay = (int)(end.DayOfWeek - day);
if (sinceLastDay < 0) sinceLastDay += 7;
if (remainder >= sinceLastDay) count++;
return count;
}

private void button1_Click(object sender, EventArgs e)
{
DateTime[] dates = { new DateTime(2017,10,6), new DateTime(2017,11,7)};
MessageBox.Show(CountDays(DayOfWeek.Friday, dates[0], dates[1]).ToString());
}

زحمت تبدیل به شمسی با خودتون
موفق باشید

رامین مرادی
سه شنبه 04 مهر 1396, 15:03 عصر
با سلام
می تونید از کلاس TimeSpan استفاده کنید
زحمت تبدیل به شمسی با خودتون
موفق باشید

در اس کیو ال چی؟ امکانش هست این کار؟ البته اونجا با یه تابعی تاریخ رو میلادی میکنم مشکلی نیست.

danialafshari
سه شنبه 04 مهر 1396, 15:05 عصر
در اس کیو ال چی؟ امکانش هست این کار؟ البته اونجا با یه تابعی تاریخ رو میلادی میکنم مشکلی نیست.

با سلام
از شدن که میشه ولی باید Stored Procedure بنویسید

رامین مرادی
سه شنبه 04 مهر 1396, 15:11 عصر
با سلام
از شدن که میشه ولی باید Stored Procedure بنویسید

ممنون میشم راهنماییم کنید.

danialafshari
سه شنبه 04 مهر 1396, 15:24 عصر
ممنون میشم راهنماییم کنید.
بحث بسیار طولانی و جذابی داره
به نظر من هر کسی که با بانک اطلاعاتی کار می کنه باید به سمت SP و Trigger بره
بهتره در بخش SQL مطرح کنید
توی گوگل هم میتونید جستجو کنید