با سلام و خسته نباشید
تاریخ ها رو نیاز دارم. تاریخ میلادی و شمسی درست نمایش داده می شود ولی تاریخ قمری با یکی دو روز عقب و جلو نمایش داده می شود. مثلا ماه رمضان را یک روز جلوتر و ماه رجب را دو روز جلوتر نمایش می دهد. این مشکل برای تاریخ های میلادی و شمسی وجود ندارد و فقط تاریخ قمری است که به درستی نمایش داده نمی شود. لطفا راهنمایی فرمایید.
public static string ToHihriDateTimeMonasebat(this DateTime _datetime) { DateTime datetime = DateTime.Parse(_datetime.ToMiladiDateTime().ToString()); DateTime dt = new DateTime( Int32.Parse(datetime.ToString("yyyy")), Int32.Parse(datetime.ToString("MM")), Int32.Parse(datetime.ToString("dd"))); // Gregorian HijriCalendar hijri = new HijriCalendar(); string _year = hijri.GetYear(dt).ToString(); // 1434 string _month = hijri.GetMonth(dt).ToString(); // 11 string _day = hijri.GetDayOfMonth(dt).ToString(); // 23 return string.Format("{0}/{1}/{2}", _year, _month, _day ); }
من از این کدها استفاده میکنم
تاریخ شمسی
System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar(); string Date = pc.GetYear(DateTime.Now) + "/" + pc.GetMonth(DateTime.Now) + "/" + pc.GetDayOfMonth(DateTime.Now);
تاریخ قمری
System.Globalization.HijriCalendar pc = new System.Globalization.HijriCalendar(); string date = DateTime.Now.Year.ToString() + "/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Day.ToString();
تاریخ میلادی
System.Globalization.GregorianCalendar pc = new System.Globalization.GregorianCalendar(); string date = pc.GetYear(DateTime.Now) + "/" + pc.GetMonth(DateTime.Now) + "/" + pc.GetDayOfMonth(DateTime.Now);
برای تاریخ قمری خطا میده جناب مدائنی عزیز
تست شد ، مشکلی نداشت
من خودم دارم استفاده میکنم
بنظرتون از چی میتونه باشه؟
زیر Date و pc خط قرمز اومده
ll;kaممکنه نام هایی که گذاشتید تکراری باشه
بله بنظرم بخاطر تکراری بودن هست
Date رو به Date1 و pc رو به pc1 تغییر دادم
الان که ویرایش کردم بجای تقویم قمری همون شمسی رو نشون میده
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)