objective-c – NSDatePicker时区怪异

objective-c – NSDatePicker时区怪异,第1张

概述我的nib文件中有一个NSDatePicker.在代码中,我将其时区设置为GMT日历的时区: [datePicker setTimeZone:[calendar timeZone]]; 我只关心以编程方式填充的datepicker上的时间(小时,分钟): NSDate *anyDate = [NSDate date]; NSDateComponents *components = 我的nib文件中有一个NSDatePicker.在代码中,我将其时区设置为GMT日历的时区:

[datePicker setTimeZone:[calendar timeZone]];

我只关心以编程方式填充的datepicker上的时间(小时,分钟):

NSDate *anyDate = [NSDate date];        NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit) fromDate:anyDate];        [components setHour:hours];        [components setMinute:minutes];        NSDate *newDate = [calendar dateFromComponents:components];        [datePicker setDateValue:newDate];

这正确地具有将日期选择器时间设置为我想要的时间的期望效果.因此,如果小时数为8,分钟数为30,则日期选择器显示为8:30.但是,如果我在日期选择器的小时字段中输入一个8,它显示为3.奇怪的是某个地方正在进行时区,但我不知道在哪里……

解决方法 好像我不是第一个遇到这个问题的人.解决方案,对于那些感兴趣的人,我在这里找到了 http://www.cocoabuilder.com/archive/cocoa/305254-nsdatepicker-weirdness-with-time.html.显然,如果您设置日期选择器的时区而不是日历,则会出现此问题.决议是这样的:

[datePicker setTimeZone:[calendar timeZone]];[datePicker setCalendar:calendar];
总结

以上是内存溢出为你收集整理的objective-c – NSDatePicker时区怪异全部内容,希望文章能够帮你解决objective-c – NSDatePicker时区怪异所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1006014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存