gpt4 book ai didi

objective-c - NSDatePicker 时区怪异

转载 作者:太空狗 更新时间:2023-10-30 03:50:14 24 4
gpt4 key购买 nike

我的 nib 文件中有一个 NSDatePicker。在代码中,我将其时区设置为 GMT 日历的时区:

[datePicker setTimeZone:[calendar timeZone]];

我只真正关心我以编程方式填充的日期选择器上的时间(小时、分钟):

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 时区怪异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7212068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com