0

私はXamarin Formsアプリケーションでローカライズされた日付を取得したいと思います。 ASP.NET MVCでうまく動作する2つの方法を試しましたが、なぜどちらもXamarinで動作しないのでしょうか。現在の日付を取得するCultureInfo

var currentDate DateTime.Now.ToString("yyyy/mm/dd", new CultureInfo("fa-IR")) 

と文化情報のカレンダーを使用して:

var month = new CultureInfo("fa-IR").Calendar.GetMonth(DateTime.Now); 

は、これらのメソッドの両方がen-USで私に現在の日付を与えました。

明らかに、PersianCalendarはそこにあるsupposedです。私は何が欠けているのか理解できません。

NodaTimeもSystemClock.Instance.Now.InZone(DateTimeZoneProviders.Tzdb["‌​Asia/Tehran"]).Date.‌​ToString()で試したことがあります。日付はデフォルトのままです!

UPDATE

最後に、Persian Calendar Plusは仕事をしてくれました!しかし、もし誰かがそれを得ることができるなら、それは非常に便利です!

+1

、他の日付/時刻のライブラリは.NETのそこにあることを知って役立つかもしれません。 Grandmaster SkeetのNodaTimeは1つですが、他にもあります。 – bubbleking

+0

@bubbleking、私はそれを使用しています(この方法)(http://stackoverflow.com/a/27853841/3967440) 'SystemClock.Instance.Now.InZone(DateTimeZoneProviders。 Tzdb ["Asia/Tehran"])。Date.ToString() '。 – Akbari

答えて

0

.Netフレームワークはカルチャのためのペルシア語カレンダーをサポートしていません。この文化はカレンダーを受け入れません。したがって、この文化におけるDateTimeの表示は不可能です。

helperまたはextensionというカスタムを作成する必要があります。あなたは日時を使用して制限した場合は、あなたがこのように設定することができます上記の拡張子を使用して

// create an instance of culture 
CultureInfo info = new CultureInfo(“fa-Ir”); 
//set Persian calendar to it without get exception 
info.DateTimeFormat.Calendar = new PersianCalendar(); 
+0

'.Net'は' fa-IR'カルチャをサポートしており、 'MVC'アプリで使っていますが、何か不足していますか? – Akbari

+0

@Akbari上記のように試しましたか? – Sajeetharan

+0

「.Netコア」にはもう[Persian Calendar](https://msdn.microsoft.com/en-us/library/system.globalization.persiancalendar(v = vs.110).aspx)がないようです! – Akbari

関連する問題