2 Stimmen

Kalender ineinander konvertieren NodaTime-Bibliothek verwenden

Ich benutze Noda Zeit zu handhaben DateTime Ausgaben, ich habe fast alle der Dokumente aber ich habe ein Problem mit der Konvertierung von Kalendern ineinander,

  1. Erstens: Wie viele Kalender werden von Noda unterstützt?

    Als CalendarSystem sagt, dass es nur 4 Kalender gibt:

    a)KoptischerKalender / b)GregorianischerKalender / c)IslamischerKalender / d)JulianischerKalender

    Und wie sieht es mit anderen Kalendersystemen aus?

  2. Ich benutze Persischer Kalender alias Jalali-Kalender Gibt es also eine Möglichkeit, diesen Kalender in NodaTime zu verwenden? Und wie konvertiert man ihn in den Gregorianischen Kalender?

  3. Mein Ziel ist es, sowohl die Zeit (in einer speziellen Zone) als auch das Datum in die UTC-Zeitzone und den georgischen Kalender zu konvertieren. Zum Beispiel Jetzt ( yyyy/MM/dd - HH:mm:ss ) in Asia/Tehran Zeitzone und persischer Kalender ist: (1391/06/30 - 10:01:15) und Jetzt im georgischen Kalender und UTC ist (2012/09/20 - 05:01:15), so was ist Ihr Vorschlag? Die Zeit individuell überhaupt keine Rolle, aber das Datum, ich habe keine Ahnung davon (in NodaTime), und gibt es eine Möglichkeit, beide in einem Prozess oder Methode zu konvertieren?

3voto

Jon Skeet Punkte 1325502
  1. Ja, derzeit sind dies die einzigen Kalendersysteme, die wir unterstützen.

  2. Nein, wir haben zur Zeit keine Unterstützung für den Persischen Kalender. Sie können einen Feature Request einreichen, aber ich fürchte, wir sind eher daran interessiert, 1.0 aus der Tür zu bekommen, um damit zu beginnen.

  3. Es ist nicht klar, was Sie mit "Sonderzone" meinen - aber es klingt so, als bräuchten Sie wieder den persischen Kalender, damit das wirklich funktioniert. Wenn .NET den persischen Kalender unterstützt, könnten Sie es zu einem parsen DateTime und dann in einen Noda-Time-Typ umwandeln... Es tut mir leid, dass wir den persischen Kalender im Moment nicht unterstützen, und ich würde wie in der Lage sein, die BCL-Kalender über Wrapping-Typen zu unterstützen (wie wir es für TimeZoneInfo ), aber ich fürchte, das wird nicht so bald der Fall sein.

0voto

JeroldHaas Punkte 158

Für andere, die nach ähnlichen Stichwörtern suchen, wurde die Unterstützung für den persischen Kalender hinzugefügt (ich verwende derzeit v1.3).

Einige Kalender haben mehr Einstellungen, daher ist dieses Beispiel vereinfacht:

    var now = DateTime.Now;
    var nodaNow = new NodaTime.LocalDate(now.Year, now.Month, now.Day);
    var cal = nodaNow.WithCalendar(CalendarSystem.GetPersianCalendar());

    Console.WriteLine(cal.ToString());

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X