Я хочу получить локализованную дату в приложении Xamarin Forms. Я пробовал два способа, которые отлично работают в ASP.NET MVC, но мне интересно, почему ни один из них не работает в Xamarin.Получение текущей даты по CultureInfo
var currentDate DateTime.Now.ToString("yyyy/mm/dd", new CultureInfo("fa-IR"))
И с помощью календаря Культура Info в:
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 сделал работу! Но было бы очень полезно, если бы кто-то мог понять это!
Если вы столкнетесь с ограничениями с помощью DateTime, это может быть полезно знать, что существуют и другие библиотеки даты/времени там для .Net. Гроссмейстер Skeet's NodaTime - один, но есть и другие. – bubbleking
@bubbleking, я использую его [этот путь] (http://stackoverflow.com/a/27853841/3967440), и я все еще получаю дату 'en-US' by SystemClock.Instance.Now.InZone (DateTimeZoneProviders. Tzdb [ "Азия/Тегеран"]). Date.toString() '. – Akbari