正如我的 Headers 所说我需要将我的 iPhone
设备日期和时间转换为 PST timezone?
我从服务器获得NSSate NSSate格式为 PST Timezone ,所以我需要将当前设备时间转换为 PST Timezone .
在我的应用中 . 我需要设置UIDatePicker的最小和最大时间
最短时间=当前时间;最长时间=我从服务器获得的日期(字符串格式) .
我使用以下代码
NSString *dateString = [[self.listOfDomains objectAtIndex:indexPath.row] objectForKey:@"ends_at"]; // got from Server
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *maxDate = [[NSDate alloc] init];
maxDate = [dateFormatter dateFromString:dateString];
NSCalendar *calMax = [NSCalendar currentCalendar];
NSDateComponents *pstCompoMax = [calMax components: NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit fromDate: maxDate];
pstCompoMax.timeZone = [NSTimeZone timeZoneWithName: @"PST"];
NSDate *pstMaxDate = [calMax dateFromComponents: pstCompoMax];
并在datePicker中使用它
[self.datePicker setMinimumDate:pstMinDate];
[self.datePicker setMaximumDate:pstMaxDate];
但我无法在datePicker中设置最小和最大日期 . 但是,如果我只设置datePicker的最小/最大日期,那么它的工作原理..
为了解决我的问题,我正在尝试大约2小时,但我找不到任何解决方案 .
对于您的信息:我正在使用Xcode 5,我需要在iOS版本5到Latter(iOS 7)中使用它
请帮我解决这个问题,
提前致谢 .
1 回答
问题似乎是NSTimeZone的设置 . 你可以尝试在datepicker中设置如下所示的时区: -