Xamarin Android DateTime ведет себя по-разному в эмуляторе и реальном телефоне

#android #datetime #xamarin.forms #xamarin.android #prism

#Android #datetime #xamarin.forms #xamarin.android #prism

Вопрос:

Используя несколько эмуляторов Android при настройке выпуска, класс DateTime ведет себя нормально. Но когда я устанавливаю его на телефон Android, он ведет себя по-другому.

Пример:

  1. Формат даты и времени в эмуляторе ‘MM / dd / yyyy h: mm: ss tt’, но при установке в реальном телефоне формат меняется на ‘dd MMMM yyyy HH: mm: ss’

  2. При использовании DateTime.Теперь эмулятор возвращает текущую дату и время телефона, но установленное приложение в реальном телефоне возвращает 1/1/0001.

  3. Также DateTime.TryParse работает в эмуляторе, но сбой в установленном приложении.

Вот мои настройки Proguard.cfg

  -keep class com.google.android.gms.** { *; }
 -dontwarn com.google.android.gms.**

 -keep class com.google.firebase.provider.** { *; }
 -dontwarn com.google.firebase.provider.**

 -keep class com.google.firebase.iid.** { *; }
 -dontwarn com.google.firebase.iid.**

 -keep class android.support.v7.widget.** { *; }
 -dontwarn android.support.v7.widget.**

 -keep class android.support.design.internal.BaselineLayout { *; }
 -dontwarn android.support.design.internal.BaselineLayout
    
  

Вот часть моего кода:

  DateTime newDateValue = DateTime.Now;

 string forParsing = "10/23/2020 4:40:59 AM";                       
 bool response = DateTime.TryParse(forParsing, out newDateValue);
  

Вот мои настройки параметров Android:
Параметры Android:

Комментарии:

1. вы должны быть уверены, что настройки локали на вашем телефоне и эмуляторе совпадают. Формат вывода DateTime по умолчанию и параметры синтаксического анализа по умолчанию будут различаться в зависимости от локали.

2. @Jason, вау, спасибо! это сработало. Проблема решена!