Quiero convertir una fecha gregoriana personalizada a una fecha persa en C#. Por ejemplo, tengo una cadena con este contenido:
string GregorianDate = "Thursday, October 24, 2013";Ahora quiero tener:
cadena PersianDate = پنجشنبه 2 آبان 1392 ;
o
cadena PersianDate = 1392/08/02
Gracias
Utilice el calendario persa:
string GregorianDate = "Thursday, October 24, 2013"; DateTime d = DateTime.Parse(GregorianDate); PersianCalendar pc = new PersianCalendar(); Console.WriteLine(string.Format("{0}/{1}/{2}", pc.GetYear(d), pc.GetMonth(d), pc.GetDayOfMonth(d)));Puedes usar PersianDateTime:
PM> Install-Package PersianDateTimeLa referencia: PersianDateTime
Puede usar string.Split() si necesita personalización.
DateTime date = new DateTime(2013, 10, 24); var calendar = new PersianCalendar(); var persianDate = new DateTime(calendar.GetYear(date), calendar.GetMonth(date), calendar.GetDayOfMonth(date)); var result = persianDate.ToString("yyyy MMM ddd", CultureInfo.GetCultureInfo("fa-Ir"));