字符串操作和格式

时间:2013-11-21 07:32:36

标签: json datetime nsstring

我使用json拉一个字符串,以这种格式返回估计的时间:“yyyy-mm-ddThh:mm:ss-06:00”

我不知道如何摆脱不必要的信息。我需要的只是这样的格式:hh:mm。

我没有输出这个。

NSDate *date = [timeResults objectAtIndex:indexPath.row];
NSDateFormatter* dateFormatter = [NSDateFormatter new];
[dateFormatter setDateFormat:@"hh:mm"];
NSString* stringFromDate = [dateFormatter stringFromDate:date];
cell.detailTextLabel.text = stringFromDate;

更新: 我找到了一个黑客,让它做的工作日期格式是问题。如果我使用它作为日期格式,它有用:@“yyyy' - 'MM' - 'dd'T'HH':'mm':'ssz':'00”。

3 个答案:

答案 0 :(得分:1)

NSDateFormatter你需要

NSDateFormatter *HHmm = [NSDateFormatter new];

NSString *format = @"HH:mm"; //If you want use 24H format 
NSString *format = @"hh:mm"; //If you want use 12H format 

[HHmm setDateFormat:format];

关于您可以在此处阅读的格式 - http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns

当然,如果您想使用默认语言环境[NSLocale currentLocale]

NSString *identifier = [NSLocale currentLocale];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:identifier];
[HHmm setLocale:locale];

(您可以找到的完整标识符列表使用方法[NSLocale availableLocaleIdentifiers]

NSString *stringHHmm = [HHmm stringFromDate:NSDateObject]

答案 1 :(得分:1)

将您从解析中获得的值以相同的格式存储在NSDate对象中,然后根据需要使用stringFromDate对其进行格式化。

    NSDateFormatter* dateFormatter = [[NSDateFormatter alloc]init];
    //set your format
    [dateFormatter setDateFormat:@""yyyy-mm-ddThh:mm:ss-06:00""];
    [dateFormatter setFormatterBehavior:NSDateFormatterBehaviorDefault];

    NSDate dateFrmParser = [dateFormatter dateFromString:<parsedDateString>];
    [dateFormatter setDateFormat:@"hh:mm"];
    NSString* stringFromDate = [dateFormatter stringFromDate:dateFrmParser];

答案 2 :(得分:0)

我找到了一个黑客,让它做的工作,日期格式是问题。如果我使用它作为日期格式,它有用:@“yyyy' - 'MM' - 'dd'T'HH':'mm':'ssz':'00”。