2

私はNodaTimeを使用して問題を処理DateTimeし、ほとんどすべてのドキュメントを読みましたが、カレンダーを相互に変換するのに問題があります。

  1. まず、野田さんがサポートしているカレンダーはいくつですか?

    言うようCalendarSystemに、カレンダーは4つだけです。

    a)CopticCalendar / b)GregorianCalendar / c)IslamicCalendar / d)JulianCalendar

    では、他のカレンダーシステムはどうですか?

  2. 私はペルシャ暦、別名ジャラーリー暦を使用していますが、このカレンダーをNodaTimeで使用する方法はありますか?そして、それをグレゴリオ暦にどのように変換しますか?

  3. 私の最終的な目標は、時刻(経済特区)と日付の両方をUTCタイムゾーンとグレゴリオ暦に変換することです。たとえば、タイムゾーンとペルシャ暦のNowyyyy/MM/dd - HH:mm:ss)は(1391/06/30-10:01:15)であり、ジョージア暦とUTCのNow ()は(2012/09/20-05:01:15)です。あなたの提案はありますか?時間は個別にはまったく関係ありませんが、日付、私はそれについて何も知りません(NodaTimeで)、そしてこれらの両方を1つのプロセスまたはメソッドで変換する方法はありますか?Asia/Tehran

4

2 に答える 2

3
  1. はい、現在サポートしているカレンダーシステムはこれらだけです。

  2. いいえ、現時点ではペルシア暦はサポートされていません。機能のリクエストを提出することはできますが、最初に1.0を公開することに関心がある可能性が高いので、恐れ入ります。

  3. 「経済特区」の意味は明確ではありませんが、これを実際に機能させるには、ペルシャ暦が必要になるようです。.NETがペルシャ暦をサポートしている場合は、最初に解析してから、それを野田時間タイプに変換できますDateTime...現在、ペルシャ暦をサポートしていないことをお詫び申し上げます。(のように)ラッピングタイプを介してBCLカレンダーをサポートできるようにするためですが、それはすぐにはありません。TimeZoneInfo

于 2012-09-20T08:04:51.350 に答える
0

他の人が同様のキーワードを検索するために、ペルシア暦のサポートが追加されました(私は現在v1.3を使用しています)。

一部のカレンダーにはより多くの設定があるため、この例は単純化されています。

    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());
于 2015-02-16T04:17:27.000 に答える