Im Versuch GregorianCalendar in persischer Kalender zu konvertierenC# Kalander Umwandlung gibt System.ArgumentOutOfRangeException
das ist meine Methode:
public static DateTime GetFdate(string _Edate)
{
DateTime fdate = Convert.ToDateTime(_Edate);
GregorianCalendar gcalendar = new GregorianCalendar();
PersianCalendar pcalendar = new PersianCalendar();
DateTime fDate = gcalendar.ToDateTime(
pcalendar.GetYear(fdate),
pcalendar.GetMonth(fdate),
pcalendar.GetDayOfMonth(fdate),
pcalendar.GetHour(fdate),
pcalendar.GetMinute(fdate),
pcalendar.GetSecond(fdate), 0);
return fDate;
}
Problem ist, arbeitet es nicht für alle Tage, wie folgt aus:
DateTime dt = GetFdate("2015-07-22 00:00:00.000");
und es gibt diesen Fehler:
An unhandled exception of type 'System.ArgumentOutOfRangeException' occurred in mscorlib.dll
Additional information: Year, Month, and Day parameters describe an un-representable DateTime.
aber für andere Tage es funktioniert, wie diese:
DateTime dt = GetFdate("2015-06-29 00:00:00.000");
Es kann "funktionieren", aber liefert es * korrekte * Ergebnisse, wenn es keinen Fehler erzeugt? –
Darüber hinaus ist der Rückgabetyp dieser Methode eine 'DateTime'. Diejenigen, die nicht wissen oder sich daran erinnern, wie sie erstellt wurden, und keine Kalender, die an diesem Prozess beteiligt sind, können also auch den gesamten Methodenkörper durch "return Convert.ToDateTime (_Edate);" ersetzen. –
@Damien_The_Unbeliever Vielen Dank! Das war's. der endgültige Rückgabekalender war unbekannt. –