在iOS中从字符串转换日期?

Sug*_*n S 3 iphone nsdate nsdateformatter ios

我从我的服务器获取日期字符串,如"10/4/2013 10:00:00 PM".现在我只想在我的标签上显示几个小时.但问题是我使用下面的代码但没有得到实际时间.

-(NSString*)convert:(NSString*)strdate
{

    NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
    [formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
    [formatter setLocale:[NSLocale systemLocale]];
   [formatter setDateFormat:@"dd/MM/yyyy HH:mm:ss a"];
    NSDate * date = [formatter dateFromString:strdate];


    NSDateFormatter* df = [[NSDateFormatter alloc]init];
    [df setDateFormat:@"hh:mm"];
    NSString *depResult = [df stringFromDate:date];

    NSLog(@"hours  %@ ", [df stringFromDate:date]);

    return depResult;
}
Run Code Online (Sandbox Code Playgroud)

我给String输入为"10/4/2013 9:00:00 PM"并输出为"05:30".请纠正我在哪里做错了.谢谢

Nit*_*7ak 11

+(NSString *)getDateStringFromDate :(NSDate *)date {
    NSDateFormatter * dateFormatter = [[NSDateFormatter alloc]init];
    [dateFormatter setDateFormat:@"dd/MM/yyyy hh:mm:ss a"];
    NSString *dateString = [dateFormatter stringFromDate:date];
    return dateString;
}

+(NSDate *)getDateFromDateString :(NSString *)dateString {
    NSDateFormatter * dateFormatter = [[NSDateFormatter alloc]init];
    [dateFormatter setDateFormat:@"dd/MM/yyyy hh:mm:ss a"];
    NSDate *date = [dateFormatter dateFromString:dateString];
    return date;
}
Run Code Online (Sandbox Code Playgroud)