首页 > 解决方案 > Xamarin Android DateTime 在模拟器和实际手机中的行为不同

问题描述

在发布配置时使用多个 Android 模拟器,DateTime 类的行为正常。但是当我将它安装在安卓手机上时,它的行为就不同了。

例子:

  1. 模拟器中 DateTime 的格式为 'MM/dd/yyyy h:mm:ss tt' 但在实际手机中安装时格式更改为 'dd MMMM yyyy HH:mm:ss'

  2. 使用 DateTime.Now 时,模拟器返回手机的当前日期和时间,但实际手机中安装的应用程序返回 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 选项设置: 安卓选项:

标签: androiddatetimexamarin.formsxamarin.androidprism

解决方案


推荐阅读