PDA

View Full Version : محاسبه تاریخ با SP در C#



tefos666
دوشنبه 21 دی 1388, 22:12 عصر
سلام دوستان کسی SP یا کدی نداره که من 2 تا تاریخ شمسی رو بهش بدم و اونها رو برام محاسبه کنه که چند ماه و روز میشه

مثال :

ورودی اول : 01/01/1365
ورودی دوم : 04/10/1366

خروجی بشه : 33 ماه و 4 روز


یعنی به نوعی فقط ماه ها و روز ها رو حساب کنه

کدی که من دارم >>

من یک SP کامل تو sql دارم که یک تابع با نام dton داره وقتی کد زیر رو توش میزارم





selectsum(dbo.Dton('1366/10/01')-dbo.Dton('1365/01/01'))from FrontAssistant.dbo.tbl_dates where id_person =1001


در خروجی عدد 1280 رو میده به (روز محاسبه میکنه) ، اینطوری کلی از مشکلاتم حل شده ولی حالا من چجوری بگم 1280 روز چند ماه و چند روزه ؟

ضمنا یک تیکه کد دیگه تونستم بنویسم که به سال - ماه - روز بهم اعلام میکنه ولی من سال رو نیاز ندارم باید خروجی به ماه و روز باشه




private void Calculate(string[] args)
{
int n, year, month, week, day;
n = Convert.ToInt32(txtDay.Text.Trim());
year = n / 365;
month = (n % 365) / 30;
week = ((n % 365) % 30) / 7;
day = (((n % 365) % 30) % 7);
txtsal.Text = string.Format("{0}",year);
txtmah.Text = string.Format("{0}",month );
txtweek.Text = string.Format("{0}",week );
txtrooz.Text = string.Format("{0}",day );

}




کسی میتونه این کد رو اصلاح کنه ؟ لطفا کمک کنید
خودم نتونستم کدش رو بنویسم لطفا یکی کمکم کنه .

slashslash2009
دوشنبه 21 دی 1388, 22:33 عصر
میتونی به 30 تقسیم کنیش

tefos666
دوشنبه 21 دی 1388, 22:34 عصر
:افسرده: کدومش رو به 30 تقسیم کنم ؟ میشه کد بالا رو برام اصلاح کنید ؟

slashslash2009
سه شنبه 22 دی 1388, 00:28 صبح
البه خودتون تعداد کل روزهارو رو که بدست آوردین من این کدو براتون میزارم هم تعداد ماه و هم تعداد اختلاف روزو میگه :

label1.Text = "1388/2/4";
label2.Text = "1386/5/30";
label3.Text = (DateTime.Parse(label1.Text) - DateTime.Parse(label2.Text)).TotalDays.ToString();//تعداد تمام روزها
label4.Text = (int.Parse(label3.Text) / 30).ToString();//تعداد ماه
label5.Text = (int.Parse(label3.Text) % 30).ToString();//تعداد روز