0

正如我的标题所说,我需要将我的iPhone设备日期和时间转换为PST时区?

我从服务器获得了 NSString 格式的 NSDate 作为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 到更高版本(iOS 7)中执行此操作

请帮我解决这个问题,

提前致谢。

4

1 回答 1

0

The issue seems like setting of NSTimeZone. Could you please try setting the timezone in datepicker like that below:-

datePicker.timeZone = [NSTimeZone timeZoneWithName: @"PST"];
于 2013-10-12T10:36:40.597 回答