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

نام تاپیک: جمع و تفریق روز از تاریخ شمسی

  1. #1

    جمع و تفریق روز از تاریخ شمسی

    من میخوان مثا تاریخ روز +10 کنم یا منهای 5 چه باید کرد
    مثال 1389/01/01 -5

  2. #2
    کاربر تازه وارد آواتار amireto
    تاریخ عضویت
    دی 1385
    محل زندگی
    سرزمین جاودان ایران - آمل
    سن
    41
    پست
    67

    نقل قول: جمع و تفریق روز از تاریخ شمسی

    دوست عزيز من از روش زير استفاده مي كنم

    PersianCalendar PCalendar = new PersianCalendar();
    txtNaghd.text = PCalendar.GetDayOfMonth(DateTime.Now.AddDays(10)). ToString();

    البته با اين كد فقط روز را محاسبه كردم از همين روش ميتوني ماه و سال رو هم محاسبه كني
    آخرین ویرایش به وسیله amireto : جمعه 13 خرداد 1390 در 23:08 عصر

  3. #3
    کاربر تازه وارد آواتار amireto
    تاریخ عضویت
    دی 1385
    محل زندگی
    سرزمین جاودان ایران - آمل
    سن
    41
    پست
    67

    نقل قول: جمع و تفریق روز از تاریخ شمسی

    البته يكي از دوستان در همين سايت براي تاريخ شمسي چنين كلاسي رو معرفي كردند

    public static class ShamsiDate
    {
    static PersianCalendar persianCalendar = new PersianCalendar();
    public static string ToShamsi(this DateTime miladiDate)
    {
    string year = persianCalendar.GetYear(miladiDate).ToString();
    string month = persianCalendar.GetMonth(miladiDate).ToString().Pa dLeft(2, '0');
    string day = persianCalendar.GetDayOfMonth(miladiDate).ToString ().PadLeft(2, '0');
    return year + "/" + month + "/" + day;
    }

    public static DateTime ToMiladi(this string shamsiDate)
    {
    int year = int.Parse(shamsiDate.Substring(0, 4));
    int month = int.Parse(shamsiDate.Substring(5, 2));
    int day = int.Parse(shamsiDate.Substring(8, 2));
    return persianCalendar.ToDateTime(year, month, day, 0, 0, 0, 0);
    }
    }

    اگر از اين كلاس استفاده كنيد
    مثال:

    MessageBox.Show( DateTime.Now.AddDays(10).ToShamsi());

    براي كسر هم عدد منفي بده

  4. #4

    نقل قول: جمع و تفریق روز از تاریخ شمسی

    [/CODE]
    اگر از اين كلاس استفاده كنيد
    مثال:

    MessageBox.Show( DateTime.Now.AddDays(10).ToShamsi());

    براي كسر هم عدد منفي بده
    دوست عزیز تاریخ من صرفا تاریخ روز نیست من میخوام به تاریخ شمسی ذخیره شده تو بانکم چند روز اضافه کنم
    کلاس بالا چطوری فراخوانی میشه هر کاری کردم نشد؟

  5. #5

    نقل قول: جمع و تفریق روز از تاریخ شمسی

    چطوری میشه ازش کم کرد؟

  6. #6

    نقل قول: جمع و تفریق روز از تاریخ شمسی

    سلام دوست عزیز باید یک کلاس جمع و تفریق ایجاد کنید.

  7. #7

    نقل قول: جمع و تفریق روز از تاریخ شمسی

       public string time(string BackTime, string Month_Last, string NowTime_Last)
    {
    long Month = Convert.ToInt32(Month_Last);
    long Year_Now = Convert.ToInt64(NowTime_Last.Trim().Substring(0, 4)), Month_Now = Convert.ToInt64(NowTime_Last.Trim().Substring(5, 2)), Day_Now = Convert.ToInt64(NowTime_Last.Trim().Substring(8, 2));
    if (Month != 0)
    {
    if (Month >= 12)
    {
    Year_Now += (Month / 12);
    Month -= ((Month / 12) * 12);
    }
    if ((Month_Now + Month) <= 12)
    {
    Month_Now += Month;
    }
    else
    {
    Month_Now += Month - 12;
    Year_Now++;
    }
    }
    if (Month_Now > 6 && Day_Now == 31)
    Day_Now--;
    BackTime = string.Format("{0}/{1:d2}/{2:d2}", Year_Now, Month_Now, Day_Now);
    return BackTime;
    }

  8. #8

    نقل قول: جمع و تفریق روز از تاریخ شمسی

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

  9. #9

    نقل قول: جمع و تفریق روز از تاریخ شمسی

    اینم هست
    namespace Abshar
    {
    class PlusDay
    {
    public string time(string Status, string Day_Last, string NowTime_Last)
    {

    string aa=NowTime_Last.Substring(5, 2);
    long Day = Convert.ToInt64(Day_Last);
    long Year_Now = Convert.ToInt64(NowTime_Last.Trim().Substring(0, 4)), Month_Now = Convert.ToInt64(NowTime_Last.Trim().Substring(5, 2)), Day_Now = Convert.ToInt64(NowTime_Last.Trim().Substring(8, 2));
    if (Status == "1")
    {
    Plus:
    if (Day != 0)
    {
    if (Day >= 1)
    {
    if (Month_Now <= 6 && Day_Now <= 31)
    {
    if (Day_Now == 31)
    {
    Month_Now++;
    Day_Now = 1;
    }
    else
    Day_Now++;
    }
    else if (Month_Now > 6 && Day_Now <= 30)
    {
    if (Day_Now == 30)
    {
    if (Month_Now == 12)
    {
    Year_Now++;
    Month_Now = 1;
    Day_Now = 1;
    }
    else
    {
    Month_Now++;
    Day_Now = 1;
    }
    }
    else
    Day_Now++;
    }
    }
    if (Day != 0)
    {
    Day--;
    goto Plus;
    }
    }
    else
    return Status = string.Format(" {0}/{1:d2}/{2:d2}", Year_Now, Month_Now, Day_Now);
    }
    if (Status == "0")
    {
    Minez:
    if (Day != 0)
    {
    if (Day >= 1)
    {
    if (Month_Now <= 6 && Day_Now >= 1)
    {
    if (Day_Now == 1)
    {
    if (Month_Now == 1)
    {
    Year_Now--;
    Month_Now = 12;
    Day_Now = 30;
    }
    else
    {
    Month_Now--;
    Day_Now = 31;
    }
    }
    else
    Day_Now--;
    }
    else if (Month_Now > 6 && Day_Now >= 1)
    {
    if (Day_Now == 1)
    {
    Month_Now--;
    Day_Now = 30;
    }
    else
    Day_Now--;
    }
    }
    if (Day != 0)
    {
    Day--;
    goto Minez;
    }
    }
    else
    return Status = string.Format(" {0}/{1:d2}/{2:d2}", Year_Now, Month_Now, Day_Now);
    }
    return Status;
    }
    }
    }

  10. #10

    نقل قول: جمع و تفریق روز از تاریخ شمسی

    ميتونيد بصورت زير عمل كنيد

    System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar();
    DateTime dt = p.ToDateTime(1390, 3, 14, 0, 0, 0, 0);
    dt = dt.AddDays(10);
    MessageBox.Show(p.GetYear(dt) + "/" + p.GetMonth(dt) + "/" + p.GetDayOfMonth(dt));

  11. #11

    نقل قول: جمع و تفریق روز از تاریخ شمسی

    با تشکر از جواب های دوستان
    فقط یه نکته من فقط به تاریخ روز نمی خوام اضافه کنم آیا با کلاس فوق حل میشه؟ مثلا سال گذشته 5-1389/05/21

  12. #12
    کاربر تازه وارد آواتار amireto
    تاریخ عضویت
    دی 1385
    محل زندگی
    سرزمین جاودان ایران - آمل
    سن
    41
    پست
    67

    نقل قول: جمع و تفریق روز از تاریخ شمسی

    دوست عزیز تاریخ من صرفا تاریخ روز نیست من میخوام به تاریخ شمسی ذخیره شده تو بانکم چند روز اضافه کنم
    کلاس بالا چطوری فراخوانی میشه هر کاری کردم نشد؟
    دوست عزيز
    همونطور كه ديدي راههاي زيادي است
    طبق روش من ابتدا بهتره تاريخ شمسي كه داري به نوع datetime تبديل كني اونوقت از تابع addDay براي جمع و تفريق استفاده كن و سپس دوباره به شمسي برگردون
    براي استفاده از كلاس هم خيلي ساده با استفاده ازAdd new item يك كلاس با همين نام و كد به پروژه اضافه كن

    چطوری میشه ازش کم کرد؟
    همون طور كه گفتم به جاي عدد مثبت عدد منفي بگذار

    MessageBox.Show( DateTime.Now.AddDays(-10).ToShamsi());

  13. #13

    نقل قول: جمع و تفریق روز از تاریخ شمسی


    1
    MessageBox.Show( DateTime.Now.AddDays(-10).ToShamsi());



    نه دوست من من کلاسو ایجاد کردم الان میخوام تو فرم ازش استفاده کنم چطور فراخوانی کنمش
    منظورم نمونه ساختن ازشه
    ToShamsi()); نمی شناسه
    بعد چطوری بگم به این تاریخ میلادی اضافه کنه نه تاریخ امروز
    آخرین ویرایش به وسیله shahin60 : شنبه 14 خرداد 1390 در 17:48 عصر

  14. #14
    کاربر تازه وارد آواتار amireto
    تاریخ عضویت
    دی 1385
    محل زندگی
    سرزمین جاودان ایران - آمل
    سن
    41
    پست
    67

    نقل قول: جمع و تفریق روز از تاریخ شمسی


    sing System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Globalization;
    namespace نم اسپيس پروژت
    {
    public static class ShamsiDate
    {
    static PersianCalendar persianCalendar = new PersianCalendar();
    public static string ToShamsi(this DateTime miladiDate)
    {
    string year = persianCalendar.GetYear(miladiDate).ToString();
    string month = persianCalendar.GetMonth(miladiDate).ToString().Pa dLeft(2, '0');
    string day = persianCalendar.GetDayOfMonth(miladiDate).ToString ().PadLeft(2, '0');
    return year + "/" + month + "/" + day;
    }

    public static DateTime ToMiladi(this string shamsiDate)
    {
    int year = int.Parse(shamsiDate.Substring(0, 4));
    int month = int.Parse(shamsiDate.Substring(5, 2));
    int day = int.Parse(shamsiDate.Substring(8, 2));
    return persianCalendar.ToDateTime(year, month, day, 0, 0, 0, 0);
    }
    }
    }

    همين كلاس رو اضافه كن و ديگر نبايد كاري كني
    نوع داده اي dataTime درست كن و تاريختو درونش قرار بده
    حال ازش اضافه كن

    DataTime dt=New DataTime();
    dt=???;
    dt.AddDays(-10)

  15. #15

    نقل قول: جمع و تفریق روز از تاریخ شمسی

    بازم toshamsi() نمی شناسه

  16. #16

    نقل قول: جمع و تفریق روز از تاریخ شمسی

    حل شد دمت گرم

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

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