Je rencontre un problème lors de l'obtention des composants jour, mois et année d'un objet C# DateTime à l'aide du calendrier Um al Qura.Perdre un jour lors de la conversion d'une date grégorienne en Um al Qura
Le bout de code est:
DateTime date = new DateTime(2013, 6, 24);
UmAlQuraCalendar umAlQuraCalendar = new UmAlQuraCalendar();
int year = umAlQuraCalendar.GetYear(date);
int month = umAlQuraCalendar.GetMonth(date);
int day = umAlQuraCalendar.GetDayOfMonth(date);
Après avoir exécuté cette année est 1434 et le mois est 8, qui sont tous deux corrects. Cependant, le jour est de 14 ce qui est faux (selon ici: http://www.al-habib.info/islamic-calendar/islamic-calendar-ummulqura-2013.htm)
Si je change le code:
DateTime date = new DateTime(2013, 6, 24, 0, 0, 0, 1); // i.e. One millisecond after midnight
UmAlQuraCalendar umAlQuraCalendar = new UmAlQuraCalendar();
int year = umAlQuraCalendar.GetYear(date);
int month = umAlQuraCalendar.GetMonth(date);
int day = umAlQuraCalendar.GetDayOfMonth(date);
Puis jour est 15, ce qui est correct. Pour rendre les choses plus étranges, ce code est dans les profondeurs d'une grande application: le code C# est appelé depuis un exe VB6.
Si j'extrait le premier extrait ci-dessus vers un projet C# autonome (.NET 2.0), le jour est 15, ce qui est correct.
J'ai vérifié tout ce que je peux penser qui pourrait être différent entre les deux projets: version .NET, cible de la plate-forme (x86), mais ne peut rien voir d'évident.
Toute pensée grandement appréciée.
Toujours vous pouvez ajuster le calendrier hijri comme les calculs ne sont parfois pas précis, quand l'ordinateur dit demain n'est pas le 1er du Ramadan et les gens voient la lune à la fin de la journée, puis les calculs changent pour synchroniser la réelle calendrier, le calendrier hijri n'était pas censé être calculé par des équations, il est calculé par l'apparition de la lune. dans le panneau de configuration dans les paramètres régionaux et linguistiques si vous choisissez le calendrier hijri, vous pouvez régler l'ajustement du jour hijri – ahmedsafan86
Oui, c'est ma compréhension du calendrier Hijri, mais j'utilise le calendrier Um al Qura (http://msdn.microsoft.com/en-us/library/system.globalization.umalquracalendar(v=vs.80).aspx), qui n'a pas de facteur d'ajustement. –