我想从NSDate获取日历的区域时间

时间:2014-06-12 11:08:12

标签: objective-c ios7

我试图从日期获得区域时间,甚至我搜索了很多,但没有       发现任何与我的要求有关的东西。贝尔是我的代码 -

  NSCalendar *cal = [NSCalendar currentCalendar];
  [cal setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
    NSDateComponents *comp = [cal components:(NSMonthCalendarUnit | NSMinuteCalendarUnit | NSYearCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit | NSHourCalendarUnit | NSSecondCalendarUnit)fromDate:startDate];
    NSDate *d = [cal dateFromComponents:comp];

输出d = 2014-05-31 16:00:00 +0000

我的要求是= 16:00:00 +0000

我想剪切数据并将“16:00:00 +0000”变为字符串变量以按照coutry处理时区。请帮我解决此问题。

1 个答案:

答案 0 :(得分:0)

您可以使用NSDateFormatter。像这样:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm:ss ZZZZ"];
NSString *result = [dateFormatter stringFromDate:self];

如果您将多次使用此代码,请考虑缓存日期格式化程序,因为每次创建它都很昂贵。