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

نام تاپیک: محاسبه تاریخ پایانی با دادن تاریخ شروع

  1. #1
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

    Question محاسبه تاریخ پایانی با دادن تاریخ شروع

    سلام دوستان من میخوام وقتی تاریخ شروع رو دادم به صورت خودکار با کلیک روی maskedtextbox تاریخ پایان رو بهم بده یعنی یک فرد وقتی میخواد مثلا دور روز مرخصی بگیره این تاریخ رو که بهش میدیم 94/4/7 دو روز بعد رو محاسبه کنه و 94/4/9 رو بهمون بده
    حالا راه حلش چیه ؟
    ممنون

  2. #2
    کاربر دائمی آواتار sempay_ninjutsu
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    تهران
    سن
    35
    پست
    313

    نقل قول: محاسبه تاریخ پایانی با دادن تاریخ شروع

    نقل قول نوشته شده توسط reza4359 مشاهده تاپیک
    سلام دوستان من میخوام وقتی تاریخ شروع رو دادم به صورت خودکار با کلیک روی maskedtextbox تاریخ پایان رو بهم بده یعنی یک فرد وقتی میخواد مثلا دور روز مرخصی بگیره این تاریخ رو که بهش میدیم 94/4/7 دو روز بعد رو محاسبه کنه و 94/4/9 رو بهمون بده
    حالا راه حلش چیه ؟
    ممنون
    تاریخ اولتو به میلادی تبدیل کن بعد با استفاده از متد addday دو روز به اون اضافه کن بعد دوباره به شمسی تبدیل کن.

    DateTime dt = DateTime.Now;
    DateTime newTime=dt.AddDays(2);

  3. #3
    مدیر بخش آواتار محمد رضا فاتحی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کهنسالترین موجود زنده در شهر منه
    پست
    1,181

    نقل قول: محاسبه تاریخ پایانی با دادن تاریخ شروع

    با اجازه راه حل ساده تر
                PersianCalendar pc = new PersianCalendar();            DateTime dt=DateTime.Now.AddDays(3);
    string date = pc.GetYear(dt) + "/" + pc.GetMonth(dt) + "/" + pc.GetDayOfMonth(dt);

  4. #4
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

    نقل قول: محاسبه تاریخ پایانی با دادن تاریخ شروع

    نقل قول نوشته شده توسط rezafatehy مشاهده تاپیک
    با اجازه راه حل ساده تر
                PersianCalendar pc = new PersianCalendar();            DateTime dt=DateTime.Now.AddDays(3);
    string date = pc.GetYear(dt) + "/" + pc.GetMonth(dt) + "/" + pc.GetDayOfMonth(dt);
    ممنون و تشکر از جوابتون حالا این قسمت DateTime dt=DateTime.Now.AddDays تاریخ جاری رو به ما میده اگه بخوایم خودمون تاریخ به دلخواه بزنیم باید چه کار کرد؟

  5. #5
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

    نقل قول: محاسبه تاریخ پایانی با دادن تاریخ شروع

    دوستان کسی نیست بلد باشه؟

  6. #6
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

    نقل قول: محاسبه تاریخ پایانی با دادن تاریخ شروع

    دوستان میخوام به این صورت باشه
    Untitled.jpg
    داخل کادر صفر تعداد روزی که میخواد اضافه بشه و داخل کادر دومی تاریخ رو میزنیم و با کلیک بر روی تکس باکس سومی تاریخی که اضافه شده را باید نمایش بده

  7. #7
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: محاسبه تاریخ پایانی با دادن تاریخ شروع

    سلام

    --------------------------------------------- ویرایش

    از تابع زیر استفاده کنید.
    private string AddDayToShamsiDate(string tarikh, double days)
    {
    string year = tarikh.Substring(0, 4);
    string month = tarikh.Substring(5, 2);
    string day = tarikh.Substring(8, 2);

    //تبدیل تاریخ شمسی به میلادی
    PersianCalendar pc = new PersianCalendar();
    DateTime dt = pc.ToDateTime(Convert.ToInt32(year), Convert.ToInt32(month), Convert.ToInt32(day), 0, 0, 0, 0);

    //افزودن روزهای مورد نظر به تاریخ میلادی
    DateTime _newDate = dt.AddDays(days);

    //تبدیل تاریخ میلادی به شمسی
    string _result = "";
    _result += pc.GetYear(_newDate).ToString("0000");
    _result += "/";
    _result += pc.GetMonth(_newDate).ToString("00");
    _result += "/";
    _result += pc.GetDayOfMonth(_newDate).ToString("00");
    return _result;
    }


    نحوه استفاده:
    textBox1.Text=AddDayToShamsiDate("1394/04/08", 23);
    آخرین ویرایش به وسیله Mahmoud Zaad : دوشنبه 08 تیر 1394 در 17:55 عصر

  8. #8

    نقل قول: محاسبه تاریخ پایانی با دادن تاریخ شروع

    نقل قول نوشته شده توسط reza4359 مشاهده تاپیک
    سلام دوستان من میخوام وقتی تاریخ شروع رو دادم به صورت خودکار با کلیک روی maskedtextbox تاریخ پایان رو بهم بده یعنی یک فرد وقتی میخواد مثلا دور روز مرخصی بگیره این تاریخ رو که بهش میدیم 94/4/7 دو روز بعد رو محاسبه کنه و 94/4/9 رو بهمون بده
    حالا راه حلش چیه ؟
    ممنون
    شما تاریخ رو تو دیتابیس ذخیره میکنید و نوع فیلد شما برای تاریخ چه هستشئ چون اگه بخواهید تاریخ رو از دیتابیس هم مقایسه کنید باز با مشکل بر خورد میکنید چون در تاریخ میلادی ماه دوم 28 روزه هستش و همین طور در ماه 4 روم و نوع فیلد شما date باشه تاریخ شمسی ذخیره میشه ولی وقتی به تاریخ ماه 2 و 4 رو میرسه که 28 روزه هستش در میلادی ولی شمسی 31 روزه برنامه خطا میده چون سیستم میگه این رشته هستش و ذخیره نمیکنه در فیلد نوع date و از طرف دیگه نمی تونید مقایسه کنید برای اینکه تو کارتون پیش ببرید اگه دیتابیس ذخیره میکنید بیاد از تاریخ شروع 2 تا فیلد در دیتابیس و از تاریخ پایان 2 تا نوع بسازید شمسی رو از نوع nvarchar قرار بدید و میلادی رو از نوع date وقتی میلادی وارد میشه برای شروع به طور مخفی میلادی تبدیل میشه و وقتی تاریخ پایان میلادی حساب شود تاریخ شمسی رو نمایش بده بدون هیچ ایرادی و شخص کاربر فکر میکنه تاریخ شمسی داره مقایسه میشه ولی در صورتی تاریخ میلادی مخفی یانه عملیات روش پیاده میشه.

  9. #9
    مدیر بخش آواتار محمد رضا فاتحی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کهنسالترین موجود زنده در شهر منه
    پست
    1,181

    نقل قول: محاسبه تاریخ پایانی با دادن تاریخ شروع

    الان دقیقا مشکلتون کجاست؟

  10. #10
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

    نقل قول: محاسبه تاریخ پایانی با دادن تاریخ شروع

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    سلام

    --------------------------------------------- ویرایش

    از تابع زیر استفاده کنید.
    private string AddDayToShamsiDate(string tarikh, double days)
    {
    string year = tarikh.Substring(0, 4);
    string month = tarikh.Substring(5, 2);
    string day = tarikh.Substring(8, 2);

    //تبدیل تاریخ شمسی به میلادی
    PersianCalendar pc = new PersianCalendar();
    DateTime dt = pc.ToDateTime(Convert.ToInt32(year), Convert.ToInt32(month), Convert.ToInt32(day), 0, 0, 0, 0);

    //افزودن روزهای مورد نظر به تاریخ میلادی
    DateTime _newDate = dt.AddDays(days);

    //تبدیل تاریخ میلادی به شمسی
    string _result = "";
    _result += pc.GetYear(_newDate).ToString("0000");
    _result += "/";
    _result += pc.GetMonth(_newDate).ToString("00");
    _result += "/";
    _result += pc.GetDayOfMonth(_newDate).ToString("00");
    return _result;
    }


    نحوه استفاده:
    textBox1.Text=AddDayToShamsiDate("1394/04/08", 23);
    ببخشید با تغییر کدوم قسمت میتونیم به طور مثال تاریخ 94/4/10 تا 94/4/10 رو یک روز محاسبه کنه؟
    یعنی یک روز رو از تاریخ 94/4/10 تا 94/4/11 محاسبه نکنه
    ممنون

  11. #11
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: محاسبه تاریخ پایانی با دادن تاریخ شروع

    نقل قول نوشته شده توسط reza4359 مشاهده تاپیک
    ببخشید با تغییر کدوم قسمت میتونیم به طور مثال تاریخ 94/4/10 تا 94/4/10 رو یک روز محاسبه کنه؟
    یعنی یک روز رو از تاریخ 94/4/10 تا 94/4/11 محاسبه نکنه
    ممنون
    قسمت زیر رو تغییر بدید:
    //افزودن روزهای مورد نظر به تاریخ میلادی            DateTime _newDate = dt.AddDays(days);



    به

                DateTime _newDate = dt.AddDays(days - 1);


  12. #12
    کاربر دائمی
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    روستای چناران شهرستان نیشابور
    پست
    236

    نقل قول: محاسبه تاریخ پایانی با دادن تاریخ شروع



    public string ShamsiDateAddDay( int tarykhShamsiYear,int tarykhShamsiMonth,string tarykhShamsiDay,int AddedDays)
    {
    System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
    DateTime inDate = default(DateTime);
    DateTime outDate = default(DateTime);
    string result = null;

    inDate = pc.ToDateTime(tarykhShamsiYear, tarykhShamsiMonth, tarykhShamsiDay,0, 0,0, 0);
    outDate = pc.AddDays(inDate, AddedDays);

    result = (pc.GetYear(outDate) > 9 ? pc.GetYear(outDate).ToString() : "0" + pc.GetYear(outDate)) + "/" + (pc.GetMonth(outDate) > 9 ? pc.GetMonth(outDate).ToString() : "0" + pc.GetMonth(outDate)) + "/" + (pc.GetDayOfMonth(outDate) > 9 ? pc.GetDayOfMonth(outDate).ToString() : "0" + pc.GetDayOfMonth(outDate));

    return result;

    }



تاپیک های مشابه

  1. پاسخ: 13
    آخرین پست: دوشنبه 01 خرداد 1391, 21:02 عصر
  2. دادن تاریخ شروع و پایان تقوییم به textbox
    نوشته شده توسط ramin149 در بخش jQuery
    پاسخ: 4
    آخرین پست: یک شنبه 12 دی 1389, 12:28 عصر
  3. نشان دادن تاریخ در maskedit
    نوشته شده توسط amir_king2_2 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: جمعه 14 مرداد 1384, 23:16 عصر
  4. [color=blue]قرار دادن تاریخ در text box[/color]
    نوشته شده توسط emad1498 در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: جمعه 16 اردیبهشت 1384, 19:16 عصر
  5. قرار دادن تاریخ و زمان در statusbar
    نوشته شده توسط hamid_Sadeghian در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 2
    آخرین پست: جمعه 28 شهریور 1382, 21:58 عصر

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

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