Come posso convertire la data persiana in data gregoriana utilizzando System.globalization.PersianCalendar? Si prega di notare che voglio convertire la mia data persiana (ad esempio oggi è il 1391/04/07) e ottenere il risultato Gregorian Date che sarà il 27/06/2012 in questo caso. Sto contando secondi per una risposta ...Converti data da persiano a gregoriano
risposta
E 'piuttosto semplice in realtà:
// 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
Quando si chiama il costruttore DateTime
e passare in un Calendar
, lo converte per voi - così dt.Year
sarebbe 2012 in questo caso. Se si vuole andare nella direzione opposta, è necessario costruire l'appropriata DateTime
quindi utilizzare Calendar.GetYear(DateTime)
ecc
breve ma completo programma:
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));
}
}
che stampa 06/27/2012 00:00:00.
Grazie amico, questo è esattamente quello che stavo cercando. Dio ti benedica :) –
+1 Grande! ! Non conoscevo la disposizione del 'Calender' in' DateTime', pensavo 'GetYear',' GetMonth' erano le strade da percorrere – V4Vendetta
cosa dire di ['ToDateTime'] (http://msdn.microsoft.com/en-us /library/3c1445e1%28v=vs.110%29.aspx) metodo di ['PersianCalendar'] (http://msdn.microsoft.com/en-us/library/system.globalization.persiancalendar%28v=vs.110 % 29.aspx) classe ?? – AminM
Che cosa si dovrebbe fare è semplicemente di definire il calendario in definizione:
DateTime dt = new DateTime(year, mon, day, new PersianCalendar());
È possibile utilizzare questo codice per convertire persiano Data di Gregorian.
// 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();
Persiano o * Gregoriano * secondi? ;-) – Jon
http://stackoverflow.com/questions/5811170/net-how-to-parse-a-date-string-for-persian-jalali-calendar-into-a-datetime-ob – Habib
la mia risposta operativa a domanda simile http://stackoverflow.com/a/26543563/184572 –