بدست آوردن تعداد روز،ماه،سال بین دو تاریخ مشخص
سلام دوستان...
دوتا تکست باکس دارم که توی اونا کاربر تاریخ عضویت و تاریخ پایان عضویت رو مشخص میکنه..فرمت اونا ثابت هستند به شکل زیر
1391/09/21 شروع عضویت
1392/09/21 پایان عضویت
چجوری میشه فهمید چند روز یا چند ماه تا پایان عضویت زمان باقی مونده؟
اینم بگم که برای دریافت تاریخ در زمان عضویت یک فرد جدید از کامپوننت hm_FarsiCalendar استفاده کردم.
آیای توی سی شارپ قابلیتی وجود داره که این کار رو انجام بده؟ یا خودم باید کد نویسی کنم؟
نقل قول: بدست آوردن تعداد روز،ماه،سال بین دو تاریخ مشخص
فکر نکنم همچین قابلیتی داشته باشه چون تکست باکس به صورت رشته ذخیره می کنه، اما با کد خیلی راحته، ببین
string[] Date1 = textBox1.Text.Split('/');
اینکار یک آرایه از رشته می سازه و سه بخش تکست باکس رو که با / جدا شدن رو توش میریزه!
نقل قول: بدست آوردن تعداد روز،ماه،سال بین دو تاریخ مشخص
1 ضمیمه
نقل قول: بدست آوردن تعداد روز،ماه،سال بین دو تاریخ مشخص
سلام دوست من
برات یه سمپل کد نوشتم :
private void button1_Click(object sender, EventArgs e)
{
int saal = 1391;
int month = 9;
int day = 16;
long d1 = (saal * 365) + (month * 30) + day;
int saal2 = 1392;
int month2 = 10;
int day2 = 16;
long d2 = (saal2 * 365) + (month2 * 30) + day2;
d2 -= d1;
int y = 0, m = 0,d=0;
while (d2 >= 365)
{
y++;
d2-=365;
}
while (d2 >= 30)
{
m++;
d2-=30;
}
string etebar = y + " سال و " + m + " ماه و " + d2 + " روز ";
MessageBox.Show("میزان روز باقی مانده از اعتبار کارت شما :" + etebar );
}
خروجی کد بالا :
ضمیمه 96450
1.فقط شما لازمه جای سال و ماه و روزها اعداد تفکیک شده تکس باکس ها رو قرار بدین.
2.این یه سمپل کده و من پیش فرض گفتم ماه های من 30 روزس
راههای دیگه ای هم هست.
موفق باشی
بایت بایت
نقل قول: بدست آوردن تعداد روز،ماه،سال بین دو تاریخ مشخص
نقل قول:
نوشته شده توسط
Youuness
سلام دوست من
برات یه سمپل کد نوشتم :
private void button1_Click(object sender, EventArgs e)
{
int saal = 1391;
int month = 9;
int day = 16;
long d1 = (saal * 365) + (month * 30) + day;
int saal2 = 1392;
int month2 = 10;
int day2 = 16;
long d2 = (saal2 * 365) + (month2 * 30) + day2;
d2 -= d1;
int y = 0, m = 0,d=0;
while (d2 >= 365)
{
y++;
d2-=365;
}
while (d2 >= 30)
{
m++;
d2-=30;
}
string etebar = y + " سال و " + m + " ماه و " + d2 + " روز ";
MessageBox.Show("میزان روز باقی مانده از اعتبار کارت شما :" + etebar );
}
خروجی کد بالا :
ضمیمه 96450
1.فقط شما لازمه جای سال و ماه و روزها اعداد تفکیک شده تکس باکس ها رو قرار بدین.
2.این یه سمپل کده و من پیش فرض گفتم ماه های من 30 روزس
راههای دیگه ای هم هست.
موفق باشی
بایت بایت
سلام با تشکر از کد شما
ولی این کد سال های کبیسه، ماه های 31،29 و 30 روزه را در نظر نمیگیره!
راهی برای محاسبه ساده این ها هست؟
نقل قول: بدست آوردن تعداد روز،ماه،سال بین دو تاریخ مشخص
سلام دوست من
ابتدام گفتم سمپل کده و فقط جهت آشنایی یکی از الگوریتمهای پیاده سازیش نوشتمش
برای محاسبه تعداد روزهای ماه 2راه دارین :
1.توسط شرط IF ماه ها رو تفکیک کنین,یعنی اگه طرف 4 گذاشته بود (تیرماه) تو قسمت روز تا 31 قبول کنه اما اگه طرف 10 گذاشته بود(دی ماه) قسمت روز تا 30 بیشتر قبول نکنه.
2.توسط PersianCalender ماه ها رو بررسی و تعداد روزهای موجود در اون ماه رو برگردونین.PersianCalender سال های کبیسه رو هم ساپورت میکنه.
موفق باشین
بایت بایت