c# - DateTime.Now 值因 Android 设备而异

标签 c# android datetime xamarin

我正在处理 Xamarin Android 项目。在我的项目中 DateTime.Now 方法根据 Android 操作系统返回不同的值

对于 Android OS = 4.0.4 以下是 DateTime.Now 的值

DateTime.Now {15/09/2015 14:41:26}

Android OS > 4.0.4 下面是DateTime.Now的值

DateTime.Now {9/15/2015 2:41:26 PM}

这会导致问题,因为下面是我的验证

Convert.ToDateTime("9/16/2017 12:16:00 PM") > DateTime.Now)

我对这个问题感到困惑。验证仅适用于 Android OS > 4.0.4。任何帮助将不胜感激!

我的尝试: 1. 尝试按如下方式转换 DateTime

DateTime.Now.ToString("M/dd/yyyy hh:mm:ss tt")

但是,它返回的值为“"9/16/2015 12:16:00 pm""。它不能帮助我解决问题

最佳答案

应该是设备默认Locale不同导致的。

以下内容应独立于默认区域设置

System.Globalization.CultureInfo enUS = new System.Globalization.CultureInfo("en-US");
Convert.ToDateTime("9/16/2017 12:16:00 PM", enUS);

关于c# - DateTime.Now 值因 Android 设备而异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32583235/

相关文章:

c# - 图 : figure out if the path is at least X% better than others

c# - 代码契约确保 ReSharper ExternalAnnotations

java - Android 联系电话、地址和姓名 Intent

javascript - 以毫秒为单位检索日期对象的日期部分

date - 是否可以根据代表本地午夜的 UTC 时间计算本地日期?

c# - C# 中的类设计 - DAL

c# - 从 xml 文件接收错误代码值

android - 禁用单击以查看 CWAC-endless 适配器的挂起 View

java - Android - 从蓝牙读取数据时出错

python - 单元测试时模拟 datetime.datetime.now()