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

نام تاپیک: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

  1. #1
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

    بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    سلام به همه دوستان.
    من میخوام بوسیله دوتا تکست باکس که یکی تاریخ تولده و دیگری تاریخ امروز سنو بدست بیارم.
    تاریخ ها هم به شمسی هستند. مثل زیر

    تاریخ تولد: 1369/04/28
    تاریخ جاری: 1392/01/13

  2. #2
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    اول با String.Split، مولفه های تاریخ رو جدا کنید، بعد با int.Parse مولفه ها رو از رشته به عدد تبدیل کنید. بعد با کلاس System.Globalization.PersianCalendar تاریخ میلادی معادل دو تاریخ رو بدست بیارین.بعد از متد Substract تاریخ میلادی معادل تاریخ جاری استفاده کنید و تاریخ تولد رو ازش کم کنید. خروجی، مولفه های روز ماه و سال داره که همون سن میشه.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    سلام.
    راحت ترین راه اینه که تاریخ تولد رو به datetime تبدیل کنید. تاریخ جاری سیستم هم که میلادی هست. اختلاف این دو تا رو بر حسب روز محاسبه کنید و حتی میتونید از توابع خیلی مفید sql در این زمینه استفاده کنید (از جمله تابع DateDiff که میتونه بهتون کمک کنه).
    سمت سی شارپ یک نمونه میتونه اینطور باشه:
    DateTime d1 = DateTime.Now;
    DateTime d2 = DateTime.Now.AddDays(-368);
    int m = (d1 - d2).Days;
    MessageBox.Show(m.ToString());

    موفق باشید.

  4. #4
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    بچه ها من تازه کارم. میشه واضح تر بگین. اینایی که گفتین وایه من در حد حل معادلات دیفرانسیله

  5. #5
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    من اینجوری مقادیرو میریزم تو آرایه. حالا چطور سن دقیق رو بدست بیارم؟
    string tavalod = textBox1.Text;
    string datenow = textBox2.Text;

    string[] split1 = tavalod.Split('/');
    string[] split2 = datenow.Split('/');
    int sen;
    sen = (int.Parse(split2[0])) - (int.Parse(split1[0]));
    MessageBox.Show(sen.ToString());

  6. #6

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    امیرجان به نظرم از این روش برنامتو بنویسی خیلی بهتر و راحت تره و دیگه نیاز به split و این چیزا نداره
    البته این برنامه ای که بهت میدم احتمالا تو محاسبه یه جاهاییش مشکل داره چون این برنامه رو تو اوج خستگی نوشتم
    دیگه زحمت درست کردنش با خودت
    موفق باشی
    فایل های ضمیمه فایل های ضمیمه

  7. #7
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

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

  8. #8

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    سلام! بهترین راه استفاده از کلاس timespan است.

    اینم مثال:

    DateTime myStartTime=new DateTime(2009,1,1,12,13,14,157);
    DateTime myEndTime=new DateTime(2010,9,12,13,14,15,165);

    TimeSpan myDifference=myEndTime-myStartTime;
    int totalDays=myDifference.Days ;

  9. #9
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    aboulfazl950 جان میشه بیشتر توضیح بدی. از دیشب گیر کردم توش

  10. #10

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    این یک نمونه ساده

    tavvalod.rar

  11. #11
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    فکر کنم به جواب رسیدم.
    کد رو میزارم. دوستان چک کنن اگه ایراد داره ایرادشو برطرف کنن
    private void button2_Click(object sender, EventArgs e)
    {
    System.Globalization.PersianCalendar persia = new System.Globalization.PersianCalendar();

    string FirstDate = "1369/04/28";
    string EndDate = "1392/01/15";

    Int16 StartYear = Convert.ToInt16(FirstDate.Substring(0, 4));
    Int16 StartMonth = Convert.ToInt16(FirstDate.Substring(5, 2));
    Int16 StartDay = Convert.ToInt16(FirstDate.Substring(8, 2));

    Int16 EndYear = Convert.ToInt16(EndDate.Substring(0, 4));
    Int16 EndMonth = Convert.ToInt16(EndDate.Substring(5, 2));
    Int16 EndDay = Convert.ToInt16(EndDate.Substring(8, 2));

    DateTime StartDateTime = persia.ToDateTime(StartYear, StartMonth, StartDay, 0, 0, 0, 0);
    DateTime EndDateTime = persia.ToDateTime(EndYear, EndMonth, EndDay, 0, 0, 0, 0);

    TimeSpan Difference = EndDateTime - StartDateTime;

    int Days = Difference.Days;
    int sal, mah, roz;
    sal = Days / 365;
    mah = (Days % 356) / 12;
    roz = (Days % 365) % 12;
    MessageBox.Show(sal+"/"+mah+"/"+roz);
    }

  12. #12

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    دوست عزیز چون زمان بین دو تاریخ برحسب روز است برای بدست آوردن ماه و روز بجای 12 عدد 30 را قرار دهید.
    تقریبا درست خواهد بود

  13. #13
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    aboulfazl950 جواب که اشتباهه تقریبا ولی من که دیگه عقلم به جایی نرسید :D

  14. #14

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    اشتباه بودن جواب بدلیل سال کبیسه و 31 روزه بودن 6 ماه اول سال است.

    روش دیگر این است که بی خیال timespan شویم و ابتدا تفاوت روزها را بدست بیاوریم اگر عدد اول کوچکتر بود از ماه ها یکی کم کنیم و 30 روز به روزها اضافه کنیم و الی آخر .

  15. #15
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,075

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    کسی به جواب نرسید توضیح بهتر بدهید

  16. #16
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    نقل قول نوشته شده توسط علی فتحی مشاهده تاپیک
    کسی به جواب نرسید توضیح بهتر بدهید
    یک کمی سخت هست دلیلش هم این هست که مقادیر ثابت نیستند راه حل زیر به نظرم جواب می‌دهد
    public string GetAge(DateTime birthDate)
    {
    var now = DateTime.Now;
    var tmpDate = birthDate;
    int y = 0;
    int m = 0;
    int d = 0;
    while (tmpDate < now)
    {
    if (tmpDate.AddYears(1) > now)
    break;
    tmpDate = tmpDate.AddYears(1);
    y++;
    }

    while (tmpDate < now)
    {
    if (tmpDate.AddMonths(1) > now)
    break;
    tmpDate = tmpDate.AddMonths(1);
    m++;
    }

    while (tmpDate < now)
    {
    tmpDate = tmpDate.AddDays(1);
    d++;
    }

    return string.Format("{0},{1},{2}", y, m, d);

    }

  17. #17
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    نقل قول نوشته شده توسط علی فتحی مشاهده تاپیک
    کسی به جواب نرسید توضیح بهتر بدهید
    اینم جواب کامل که به درستی کار میکنه.



    public string ShamsiToMiladi(string ShamsiDate)
    {
    try
    {
    PersianCalendar PDate = new PersianCalendar();
    Int32 y = 0; Int32 m = 0; Int32 d = 0;

    if (ShamsiDate.Length == 10)
    {

    y = Int32.Parse(ShamsiDate.Substring(0, 4));
    m = Int32.Parse(ShamsiDate.Substring(5, 2));
    d = Int32.Parse(ShamsiDate.Substring(8, 2));
    }
    else
    {
    return null;
    }
    return (PDate.ToDateTime(y, m, d, 1, 1, 1, 1, 1).ToShortDateString());
    }
    catch (Exception ex)
    {
    throw ex;
    }
    }



    private void button4_Click(object sender, EventArgs e)
    {
    DateTime date1 = DateTime.Parse(ShamsiToMiladi("1369/04/28"));
    DateTime date2 = DateTime.Parse(ShamsiToMiladi("1392/01/14"));

    int days = date2.Day - date1.Day;
    if (days < 0)
    {
    date2 = date2.AddMonths(-1);
    days += DateTime.DaysInMonth(date2.Year, date2.Month);
    }

    int months = date2.Month - date1.Month;
    if (months < 0)
    {
    date2 = date2.AddYears(-1);
    months += 12;
    }

    int years = date2.Year - date1.Year;

    MessageBox.Show(string.Format("{0} year{1}, {2} month{3} and {4} day{5}",
    years, (years == 1) ? "" : "s",
    months, (months == 1) ? "" : "s",
    days, (days == 1) ? "" : "s"));
    }

  18. #18
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    نقل قول نوشته شده توسط amir200h مشاهده تاپیک
    اینم جواب کامل که به درستی کار میکنه.



    public string ShamsiToMiladi(string ShamsiDate)
    {
    try
    {
    PersianCalendar PDate = new PersianCalendar();
    Int32 y = 0; Int32 m = 0; Int32 d = 0;

    if (ShamsiDate.Length == 10)
    {

    y = Int32.Parse(ShamsiDate.Substring(0, 4));
    m = Int32.Parse(ShamsiDate.Substring(5, 2));
    d = Int32.Parse(ShamsiDate.Substring(8, 2));
    }
    else
    {
    return null;
    }
    return (PDate.ToDateTime(y, m, d, 1, 1, 1, 1, 1).ToShortDateString());
    }
    catch (Exception ex)
    {
    throw ex;
    }
    }



    private void button4_Click(object sender, EventArgs e)
    {
    DateTime date1 = DateTime.Parse(ShamsiToMiladi("1369/04/28"));
    DateTime date2 = DateTime.Parse(ShamsiToMiladi("1392/01/14"));

    int days = date2.Day - date1.Day;
    if (days < 0)
    {
    date2 = date2.AddMonths(-1);
    days += DateTime.DaysInMonth(date2.Year, date2.Month);
    }

    int months = date2.Month - date1.Month;
    if (months < 0)
    {
    date2 = date2.AddYears(-1);
    months += 12;
    }

    int years = date2.Year - date1.Year;

    MessageBox.Show(string.Format("{0} year{1}, {2} month{3} and {4} day{5}",
    years, (years == 1) ? "" : "s",
    months, (months == 1) ? "" : "s",
    days, (days == 1) ? "" : "s"));
    }
    دوست عزیز متاسفانه این روش شما جواب درست نخواهد داد،‌جمع و تفریق اینجوری جوابگو نیست.

  19. #19
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    جوابی که این کد دادو با چندتا سایت مقایسه کردم. جواب ها یکی بود

  20. #20
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    نقل قول نوشته شده توسط amir200h مشاهده تاپیک
    جوابی که این کد دادو با چندتا سایت مقایسه کردم. جواب ها یکی بود
    سالهای کبیسه چطور محاسبه می‌شوند؟ این برای من سوال هست؟

  21. #21
    کاربر دائمی آواتار amir200h
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    بروجرد->تهران->قم
    سن
    33
    پست
    782

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    تبدیل به میلادی میشن و از روی تاریخ میلادی محاسبه میشه

  22. #22

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    CS0246: The type or namespace name 'PersianCalendar' could not be found (are you missing a using directive or an assembly reference?)

  23. #23

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    کلاس persian
    Calendar رو بهم میدین؟

  24. #24
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: بدست آوردن سن از روی تاریخ تولد و تاریخ روز

    نقل قول نوشته شده توسط sarah001 مشاهده تاپیک
    کلاس persian
    Calendar رو بهم میدین؟

    using System.Globalization;
    لطفاً از پرسیدن سوال در خصوصی خودداری کنید.
    قبل از ایجاد تاپیک، حتماً قوانین سایت را مطالعه فرمایید.
    قوانین پرسش های دانشجویی
    برای درست وارد شدن کد در قالب C#‎‎‎ سایت، ابتدا کد رو درون Notepad.exe کپی سپس از اونجا به سایت در قالب C#‎‎‎ منتفل کنید
    نرم افزار code manager دستیار برنامه نویسان جهت نگهداری کد ها

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

  1. سوال: روش بدست آوردن مکان از روی آدرس IP
    نوشته شده توسط mta.sce در بخش VB.NET
    پاسخ: 1
    آخرین پست: چهارشنبه 24 اسفند 1390, 10:50 صبح
  2. سوال: بدست آوردن لیست فایلهای روی دسکتاپ
    نوشته شده توسط Mask در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 3
    آخرین پست: جمعه 03 دی 1389, 07:59 صبح
  3. سوال: فرمول بدست آوردن سن با داشتن تاريخ تولد و تاريخ سيستم
    نوشته شده توسط ZerOne در بخش C#‎‎
    پاسخ: 4
    آخرین پست: شنبه 24 مهر 1389, 11:41 صبح
  4. بدست آوردن ایمیل از روی لینک فعال سازی
    نوشته شده توسط sahele_sheni در بخش ASP.NET Web Forms
    پاسخ: 7
    آخرین پست: دوشنبه 29 مهر 1387, 04:04 صبح
  5. بدست آوردن کاراکتر از روی کد آن در یک آرایه
    نوشته شده توسط HAIdle در بخش C#‎‎
    پاسخ: 2
    آخرین پست: چهارشنبه 31 مرداد 1386, 23:37 عصر

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

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