我遇到了 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/