Bir PCL Xamarin.Forms projesini çalıştırırken aygıt varsayılan datetime biçimindeki bir dize için DateTime
nesnesini nasıl biçimlendirebilirim ve dağıtım hedeflerim iOS, Android ve Windows'u içerir.Biçimlendir DateTime, Xamarin Formları - Aygıt Formatı dize
DateTime.ToShortString()
, bu thread ve bu bug uyarınca MSDN gereksinimlerine göre çalışmaz.
Herhangi bir Forms tabanlı çözüm var mı, yoksa platforma özel projelerden mi almam gerekiyor?
Android için, ben kullanarak Yerli projeden aşağıdaki DI yapabilirsiniz:
String format = Settings.System.GetString(this.context.ContentResolver
, Settings.System.DateFormat);
string shortDateString = dateTime.ToString(format);
VEYA bu da (aşağıda kodun C# sürümünü) kullanabilirsiniz:
DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(context);
Bak içine this Soruyu daha açık bir şekilde anlamak için soru (onun sadece android için, bu bir Xamarin.Forms sorusu gibi tüm platformlar için istiyorum).
Xamarin Formlar'daki DatePicker
ve TimePicker
'dan itibaren cihaz biçimindeki tarih ve saat gösteriliyor, bu yüzden PCL'de almanın bir yolu olacağını umuyorum.
Ayrıca ben gereksinimi uygulamayı DI kullanılan herhangi PCL uygulanmasını bulamadık gibi vb
Biçimlendirme istemciye özgüyse bağımlılık hizmetini kullanmak isteyebilirsiniz. https://developer.xamarin.com/guides/xamarin-forms/dependency-service/introduction/ –
@AndresCastro - Teşekkürler ama PCL'den bir seçenek arıyorum, evet her birimiz için DI ile elde edilebileceğini biliyorum platformudur. –
Gotcha, Ben sadece dateTime.ToString ("d") kullanarak geçerli kültürde ToString uygulamanız gerektiği gibi çalışacağını düşünürdüm. Dürüst olmak gerekirse daha önce test etmedim. Cihazınızın kültürünü değiştirdiğinizde ne olacağını görmek ilginç olabilir. –