将NSstring日期转换为UTC日期

时间:2012-11-27 11:30:04

标签: iphone objective-c ios xcode

我需要将此NSString中的某个日期转换为NSString格式:yyyy-MM-dd HH:mm:ss zzz 我写这段代码:

日期输入:日期---> 27/03/2012

-(NSString *)setDateStringFormat:(NSString *)date 
 {
     NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
     [formatter setDateFormat:@"dd/MM/yyyy"];
     [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
     //[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
     NSDate *dateFormatted = [formatter dateFromString:date];

     [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];
     [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
 return [formatter stringFromDate:dateFormatted];
 }

输出:2012-03-27 00:00:00 GMT

你们都可以看到我在GMT而不是UTC中找到了约会对象 有人有想法吗?

2 个答案:

答案 0 :(得分:6)

尝试这种方法..

-(NSString *)getUTCFormateDate:(NSString *)localDate
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"dd/MM/yyyy"];

    NSDate *dateFormatted = [dateFormatter dateFromString:localDate];
    NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
    [dateFormatter setTimeZone:timeZone];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSString *dateString = [dateFormatter stringFromDate:dateFormatted];
    [dateFormatter release];
    return dateString;
}

答案 1 :(得分:1)

我认为,这里GMT显示标准时间和GMT和UTC都是相同的。 请看下面的链接: http://wwp.greenwichmeantime.com/ http://www.worldtimeserver.com/convert_time_in_UTC.aspx

感谢