【问题标题】:String Manipulation and Formatting字符串操作和格式化
【发布时间】:2013-11-21 07:32:35
【问题描述】:

我正在使用 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;

更新: 我发现了一个 hack 让它工作,日期格式是问题所在。如果我使用它作为日期格式,它会起作用:@"yyyy'-'MM'-'dd'T'HH':'mm':'ssz':'00"。

【问题讨论】:

  • 顺便说一句:该格式是标准的ISO8601,带有时区偏移量。
  • 在否决任何问题之前,请评论相同的原因,以便提问的人理解他的错误。

标签: json datetime nsstring


【解决方案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]

【讨论】:

  • 不,这并不完全正确。您的回答没有考虑语言环境。
  • 不确定我做错了什么,但我没有得到任何输出。 (看看我的编辑)
  • 你的日期对象中有什么?
  • "stringFromDate" 始终等于 NULL,但 "date" 绝不为空。
【解决方案2】:

将解析得到的值以与它相同的格式存储在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];

【讨论】:

    【解决方案3】:

    我发现了一个 hack 让它工作,日期格式是问题所在。如果我使用它作为日期格式,它会起作用:@"yyyy'-'MM'-'dd'T'HH':'mm':'ssz':'00"。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      • 1970-01-01
      相关资源
      最近更新 更多