+1 امتیاز
با عرض سلام و خسته نباشید

چطور میشه دو تاریخ رو از هم کم کرد و به صورت روز ماه و سال نشان داد ؟ مثلا تاریخ 1397/05/15 و تاریخ 1396/04/15 رو کم کنه و به این صورت تو یه لیبل نمایش بده . 1 سال و 1 ماه و 0 روز

ممنون بابت سایت خوبتون .
بسته شده

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

اگر فرض کنیم تاریخ اول 15/5/1390 باشه و تاریخ دوم، 19/9/1390، می تونیم بدین شکل عمل کنیم:

System.Globalization.PersianCalendar calendar = new System.Globalization.PersianCalendar();
DateTime dt1 = calendar.ToDateTime(1390, 5, 15, 0, 0, 0, 0);
DateTime dt2 = calendar.ToDateTime(1390, 9, 19, 0, 0, 0, 0);
 
TimeSpan ts = dt2.Subtract(dt1);
int days = ts.Days;

 

ممنونم از شما

ولی این کد اختلاف تاریخ رو فقط به روز نشون میده ، سال و ماه رو نشون نمیده .

مثلا اختلاف تاریخ هایی که مثال زدید میشه 126 روز ... این 126 رو باید بنویسه 4 ماه و 6 روز
توسط (128 امتیاز) 1 6

به جای کد بالا کد زیر رو بنویسین

System.Globalization.PersianCalendar calendar = new System.Globalization.PersianCalendar();
            DateTime dt1 = calendar.ToDateTime(1390, 5, 15, 0, 0, 0, 0);
            DateTime dt2 = calendar.ToDateTime(1390, 9, 19, 0, 0, 0, 0);

            TimeSpan ts = dt2.Subtract(dt1);
            int days = ts.Days;

            label1.Text = (days / 30).ToString() + " month and " + (days % 30).ToString() + " Days";

 

توسط (3,483 امتیاز) 6 13 87

واسه اینکه سال رو هم نشون بده خط آخر رو به صورت زیر بنویسین

label1.Text = (days / 365).ToString() + "Year " + ((days % 365) / 30).ToString() + "Months " + ((days % 365) % 30).ToString() + "Days" ;

 

توسط (3,483 امتیاز) 6 13 87
خیلی خیلی خیلی ممنونم از شما استاد عزیز

همون بود که میخواستم ...

یک دنیا ممنون
توسط (128 امتیاز) 1 6
سلام یه سوال تاریخارو تو کد وارد میکنیم یا داخل برنامه تو تکست باکس؟
توسط (119 امتیاز) 3 10
علیک سلام

بستگی به خودتون داره ، که چجوری میخواید استفاده کنید .

به هر دو صورتش میشه انجام داد ، در کد بالا ، داخل قسمت کد نویسی نوشته شده ، ولی میتونید تو تکس باکس هم بنویسید .
توسط (128 امتیاز) 1 6
سلام

دوست عزیز یه سوال اگه بخوایم اختلاف تاریخ هارو به صورت عدد نشون بده باید چیکار کنیم؟

مثلا بنویسه 126 روز

دیگه ماه ننویسه
توسط (119 امتیاز) 3 10
سوال بعدی چگونه باید از تکست باکس استفاده کنم؟ایراد میگیره وقتی به جای اعداد تکست باکس میذارم
توسط (119 امتیاز) 3 10

تکس باکس ها رو باید به این صورت ابتدا به نوع int تبدیل کنی

Convert.ToInt32(textBox1.Text)

به جای textBox1.Text باید اسم تکس باکس خودتون رو بنویسین و واسه همه این کار رو انجام بدین

توسط (3,483 امتیاز) 6 13 87

سوال قبلیتون هم به جای خط آخر اینو بنویسین

label1.Text = days.ToString();

 

توسط (3,483 امتیاز) 6 13 87
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...