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();