0

この文字列をnsdateにしたい

「2012-12-25T18:58:57.649Z」

nsstringをnsdateに変換する方法は知っていますが、適切な形式を見つけることができません。以下のフォーマットを設定しましたが、動作しません。提案してください

[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehavior10_4];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    //[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehaviorDefault];
    [dateFormatter setDateFormat:@"yyyy-MM-ddTHH:mm:ss"];
4

1 に答える 1

1

この助けを願っています

- (NSDate *)dateFromISO8601:(NSString *)str{
   if(![str isKindOfClass:NSString.class]){
      return nil;
   }

   static NSDateFormatter* sISO8601 = nil;

   if (!sISO8601) {
      sISO8601 = [[NSDateFormatter alloc] init];
      [sISO8601 setTimeStyle:NSDateFormatterFullStyle];
      [sISO8601 setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.S"];
      [sISO8601 setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
  }
  if ([str hasSuffix:@"Z"]) {
      str = [str substringToIndex:(str.length-1)];
  }

  NSDate *d = [sISO8601 dateFromString:str];
  return d;
 }
于 2012-12-26T07:18:02.410 に答える