通过CultureInfo获取当前日期
本文关键字:当前日期 获取 CultureInfo 通过 | 更新日期: 2023-09-27 18:12:03
我想在我的Xamarin Forms应用程序中获得本地化日期。我尝试了两种方法,在ASP中工作得很好。. NET MVC,但我想知道为什么它们都不能在Xamarin中工作。
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
应该在那里。我不明白我错过了什么?
我甚至尝试了nodeatime by, SystemClock.Instance.Now.InZone(DateTimeZoneProviders.Tzdb["Asia/Tehran"]).Date.ToString()
和日期仍然在默认文化!
最后,波斯日历Plus完成了这项工作!但如果有人能弄清楚真相,那就很有用了!
。Net框架不支持波斯语日历。这种文化不接受日历;因此,在此区域性中显示DateTime是不可能的。
您需要创建一个自定义的帮助器或一些这里提到的扩展。
使用上面的扩展名,你可以这样设置,
// create an instance of culture
CultureInfo info = new CultureInfo(“fa-Ir”);
//set Persian calendar to it without get exception
info.DateTimeFormat.Calendar = new PersianCalendar();