正如我的标题所说我需要将iPhone
设备的日期和时间转换为 PST 时区?
我从服务器获取NSSate NSCate作为 PST时区,因此我需要将当前设备时间转换为 PST时区。
在我的应用中。我需要设置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)中进行此操作
请帮我解决这个问题,
提前致谢。
答案 0 :(得分:0)
问题似乎是NSTimeZone的设置。你可以尝试在datepicker中设置如下所示的时区: -
datePicker.timeZone = [NSTimeZone timeZoneWithName: @"PST"];