【问题标题】:What is the correct date format (NSDateFormatter)? [duplicate]什么是正确的日期格式(NSDateFormatter)? [复制]
【发布时间】:2016-04-16 13:35:49
【问题描述】:

我正在尝试解析此日期:2016-04-16T10:00:00-0400 但我不知道在这种情况下“-0400”是什么?

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss<?>"];
                                                 ^^^
NSDate *date = [dateFormat dateFromString:@"2016-04-16T10:00:00-0400"];

感谢您的帮助!

【问题讨论】:

  • 仔细阅读 NSDateFormatter 文档。在列出所有日期格式的文档中找到指向 Unicode 标准的链接。
  • 感谢您的提示!我找到了答案!

标签: ios objective-c nsdateformatter


【解决方案1】:

使用

   NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
//[dateFormat setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
NSDate *date = [dateFormat dateFromString:@"2016-04-16T10:00:00-0400"];
NSLog(@"date ==%@",date);
 [dateFormat setDateFormat:@"yyyy"];
NSString *finalStr = [dateFormat stringFromDate:date];
NSLog(@"finalStr ==%@",finalStr);

输出喜欢

【讨论】:

    【解决方案2】:

    感谢@gnasher729 的提示,这里是日期字段符号表:http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns

    答案是日期 2016-04-16T10:00:00-0400 是:

    [dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多