c# - UIDatePicker 日期 : 1 Hour Wrong 的时区问题

标签 c# datetime xamarin.ios uidatepicker utc

我遇到了 Monotouch UIDatePicker 延迟 1 小时的问题。我认为这与时区或类似的东西有关。我已经尝试明确设置我的 UIDatePicker 的时区和区域设置,但这似乎没有帮助。

datePicker.Locale = NSLocale.CurrentLocale;
datePicker.TimeZone = NSTimeZone.LocalTimeZone;

在 ValueChanged 处理程序中,以下行返回一个比用户界面中选择的时间早 1 小时的值:

var date = DateTime.SpecifyKind((s as UIDatePicker).Date, DateTimeKind.Local).ToLocalTime();

在 ValueChanged 处理程序中,我仔细检查了 Locale 和 TimeZone 是否与设置的相同。 TimeZone 是 Europe/Dublin 和 Locale en_US。 此信息由以下人员检索:

datePicker.Locale.LocaleIdentifier;
datePicker.DatePicker.TimeZone;

我还缺少其他步骤吗?

谢谢!

最佳答案

从 DatePicker 返回的日期是 UTC 格式。有多种方法可以将 UTC 时间转换为本地时间。作为this回答说 ToLocalTime 是最好的。

DateTime.SpecifyKind(datePicker.Date, DateTimeKind.Utc).ToLocalTime();

关于c# - UIDatePicker 日期 : 1 Hour Wrong 的时区问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18656908/

相关文章:

ios - 将 Xamarin iOS 提交到 Apple AppStoreConnect TestFlight 后获取 'ITMS-90338: Non-public API usage' 和 'ITMS-90809: Deprecated API Usage'

c# - Entity Framework : Migration falsely adds foreign key column twice

c# - 获取 txt 文件的标准应用程序 (.NET)

mysql - 如何在VBA中获取 “yyyy/MM/dd hh:mm:ss.fff"”格式的时间戳?

ios - 如何在 iPhone 偏好设置中存储时间

ios - 使用 GLKit 在 OpenGL ES 2.0 中出现奇怪的混合效果

c# - File.GetLastWriteTime 似乎返回 'out of date' 值

c# - 为什么 EventHandler 在以下 asp.net 代码中不触发?

Java:使用 TimeUnit 将秒转换为日、小时、分钟和秒

mysql - 在 SQL 表中查找堆叠/重叠日期交集的总和