persa octavo nuevo meses mes gregoriano cual crucigrama calendario año c# .net datetime calendar

c# - octavo - Convertir fecha de persa a gregoriano



meses del calendario persa (3)

Es bastante simple en realidad:

// I''m assuming that 1391 is the year, 4 is the month and 7 is the day DateTime dt = new DateTime(1391, 4, 7, persianCalendar); // Now use DateTime, which is always in the Gregorian calendar

Cuando llama al constructor de DateTime y pasa un Calendar , lo convierte por usted, por lo que dt.Year sería 2012 en este caso. Si quieres ir por el otro lado, necesitas construir el DateTime apropiado y luego usar Calendar.GetYear(DateTime) etc.

Programa corto pero completo:

using System; using System.Globalization; class Test { static void Main() { PersianCalendar pc = new PersianCalendar(); DateTime dt = new DateTime(1391, 4, 7, pc); Console.WriteLine(dt.ToString(CultureInfo.InvariantCulture)); } }

Eso imprime el 27/06/2012 a las 00:00:00.

¿Cómo puedo convertir la fecha persa a la fecha gregoriana usando System.globalization.PersianCalendar? Tenga en cuenta que quiero convertir mi fecha persa (por ejemplo, hoy es 1391/04/07) y obtener el resultado de la fecha gregoriana que será 06/27/2012 en este caso. Estoy contando segundos para una respuesta ...


Lo que debes hacer es definir el calendario en definición:

DateTime dt = new DateTime(year, mon, day, new PersianCalendar());


Puedes usar este código para convertir la fecha persa a gregoriano.

// Persian Date var value = "1396/11/27"; // Convert to Miladi DateTime dt = DateTime.Parse(value, new CultureInfo("fa-IR")); // Get Utc Date var dt_utc = dt.ToUniversalTime();