نقل قول نوشته شده توسط saeid6366 مشاهده تاپیک
سلام دوستان مهندس.
من می خوام یک رشته تاریخ شمسی رو به نوع datetime تبدیل کنم . مثل کد زیر

System.Globalization.CultureInfo pr = new System.Globalization.CultureInfo("fa-ir");
DateTime dt = DateTime.ParseExact("1396/04/31", "yyyy/MM/dd", pr);
ولی dt به جای اینکه 1396/04/31 باشه، تاریخ میلادی (2017/7/22) هست.
به جای (CultureInfo("fa-ir از invariantCulture استفاده کردم ولی با تاریخ های 31 روزه شمسی مشکل داره و خطا میده
چطور این مشکل رو برطرف کنم. یعنی یک رشته تاریخ شمسی رو به نوع datetime تبدیل کنم?
کلا datetime ماهیت میلادی داره. پس با این کدی که نوشتید تبدیل شمسی به میلادی درست انجام میشه. اگر میخواهید نمایش بدید که نیاز به تبدیل نیست. اگر هم میخواهید ذخیره کنید باید همین dt را ذخیره کنید.
اینکه در ویندوز10 تاریخ میلادی به صورت شمسی نمایش داده بشه مربوط به تنظیمات ویندوز هست که میتونید در موردش در اینترنت جستجو کنید ولی توصیه میکنم همه تبدیلات رو خودتون انجام بدید تا در ویندوزهای دیگر هم جواب بگیرید.