نمایش نتایج 1 تا 2 از 2

نام تاپیک: عدم اجرای صحیح اختلاف تاریخ

  1. #1
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    Question عدم اجرای صحیح اختلاف تاریخ

    سلام دوستان وقت بخیر.
    من یه مشکل عجیب دارم که هم با تاریخ شمسی تست کردم هم با تاریخ میلادی جواب صحیح رو نمیگیرم.
    اتمام بیمه من 1400/02/26 هست.
    اتمام گواهینامه من هم 1400/03/20 هست.
    من میخوام بگم که اگه تاریخ اتمام گواهینامه بیشتر از 15 روز از تاریخ اتمام بیمه نامه هست بهم اخطار بده.

    اومدم کد زیر رو نوشتم


    DateTime EndBimeh = p.ToDateTime(yearBimeh, monthBimeh, dayBimeh, 0,0,0,0);
    DateTime Etebar = p.ToDateTime(yearEtebar, monthEtebar, dayEtebar, 0,0,0,0);
    if (DateTime.Compare(Etebar.AddDays(-15),EndBimeh )<0)
    {
    XtraMessageBox.Show("تاریخ اعتبار بیشتر از 15 روز با تاریخ بیمه اختلاف دارد.لطفا بررسی نمایید.", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
    return;
    }
    else if(DateTime.Compare(Etebar.AddDays(-15), EndBimeh ) == 0)
    {
    XtraMessageBox.Show("1", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
    return;
    }
    else if (DateTime.Compare(Etebar.AddDays(-15), EndBimeh ) > 0)
    {
    XtraMessageBox.Show("2", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
    return;
    }



    تاریخ هرچی میزنم چه دقیقا 15 روز چه کوچیکتر از 15 روز چه بیشتر از 15 روز همیشه خطای 2 رو نشون میده.
    کجاش اشتباه کردم !!!

  2. #2

    نقل قول: عدم اجرای صحیح اختلاف تاریخ

    سلام
    اول اینکه شرطت اشتباهه شما باید if سوم رو بیاری به جای if اول، در حال حاضر شرط شما برعکس میشه، یعنی تاریخ گواهینامه کوچکتر بودنش از تاریخ بیمه محاسبه میشه نه بزرگتر بودنش
    بعد به نظرم کدتون اصلا خوانا نیست و یکم ادم رو گیج میکنه، نیازی به این همه پیچیدگی نیستش، کدتون رو بصورت خیلی ساده تر میتونید بنویسید:
    var difference = Etebar.Subtract(EndBimeh).TotalDays;
    if(difference > 15)
    Console.WriteLine("is greater than 15 days!");


قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •