مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

خطا در تبدیل تاریخ شمسی به میلادی

چهارشنبه, 31 اردیبهشت 1399 11:30

خطا در تبدیل تاریخ شمسی به میلادی

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

PersianCalendar pcal = new PersianCalendar();
            string[] date = DateOfBirth.Text.ToString().Split('/');
            string year = date[0].ToString();
            string month = date[1].ToString();
            string day = date[2].ToString();
            if (month.Length == 1)
            {
                month = "0" + month;
            }
            if (day.Length == 1)
            {
                day = "0" + day;
            }
           
            //تبدیل تاریخ شمسی به میلادی ========================================
            DateTime PDate = new DateTime(Convert.ToInt32(year), Convert.ToInt32(month), Convert.ToInt32(day));
            DateTime MDate = pcal.ToDateTime(PDate.Year, PDate.Month, PDate.Day, 0, 0, 0, 0);
            //=====================================================================

وقتی روز 29 یا 30 یا 31 انتخاب شود ارور زیر می دهد:

'Year, Month, and Day parameters describe an un-representable DateTime.'

لطفا راهنمایی نمایید

با تشکر

چهارشنبه, 31 اردیبهشت 1399 20:48

سلام، از نمونه کلاس زیر استفاده کنید.

public static class DateConverter
{    
    public static DateTime ToMiladiDate(DateTime dateTime)
    {
        return new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, new System.Globalization.PersianCalendar());
    }
}

شنبه, 10 خرداد 1399 07:27

ممنون دوست عزیز

پیغام زیر می دهد:

System.ArgumentOutOfRangeException: 'Year, Month, and Day parameters describe an un-representable DateTime.'

ارسال پاسخ برای این تاپیک