4

私は過去2時間からこれを試していますが、最終的には皆さんのために残しました:P

この文字列 Mon, 14 May 2012, 12:00:55 +0200日付 形式に変換する必要がありdd/mm/yyyy hh:ssます..

目標に向けたあらゆる種類の支援は本当に感謝されます。

私が試したこと

NSDateFormatter を使用してみましたが、上記の日付の正確な形式を把握できません。これ[dateFormatter setDateFormat:@"EEEddMM,yyyy HH:mm:ss"];は私が試した方法であり、他の多くのフォーマットも

例えば:

 NSString *finalDate = @"Tue, 29 May 2012, 14:24:56 +0200";
 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
 [dateFormatter setDateFormat:@"EEEddMM,yyyy HH:mm:ss"];
  NSDate *date = [dateFormatter dateFromString:finalDate];

ここで、日付は常に nil になります

4

3 に答える 3

4

日付の書式設定の最も重要な部分は忘れられがちNSDateFormatterです。入力言語に次のように伝えてください。

NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter  setDateFormat:@"EEE, dd MMMM yyyy, HH:mm:ss Z"];
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"EN"];
NSDate *date = [dateFormatter dateFromString:@"Mon, 14 May 2012, 12:00:55 +0200"];
NSLog(@"date: %@", date);

出力を確認しました:date: 2012-05-14 10:00:55 +0000

HH日付フォーマッタの は 用であることに注意してください24hr

ここで、固定出力スキームを使用するのではなく、次のいずれかを使用することをお勧めしますNSDateFormatterStyle

[dateFormatter setDateStyle:NSDateFormatterShortStyle];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];

NSString *dateString = [dateFormatter stringFromDate:date];

NSLog(@"date: %@", dateString);

アメリカ英語では次のように出力されます:5/14/12 12:00 PM


このコードは、 addをARC使用していない場合に有効であり、使用後に をリリースします。ARCautoreleaseNSLocaleNSDateFormatter

于 2012-06-04T13:11:52.913 に答える
0
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setDateFormat:@"dd/mm/yyyy hh:ss"];
NSString *formatterDate = [inputFormatter stringFromDate:inDate];
[inputFormatter release];
于 2012-06-04T12:58:00.323 に答える
0

すべての Date Format に関する情報を入手する 私のブログ リンクはhttp://parasjoshi3.blogspot.in/2012/01/date-format-info-for-iphone-sdk.htmlです。

また、小さな機能は次のとおりです.....

-(NSString *) dateInFormat:(NSString*) stringFormat {
 char buffer[80];
 const char *format = [stringFormat UTF8String];
 time_t rawtime;
 struct tm * timeinfo;
 time(&rawtime);
 timeinfo = localtime(&rawtime);
 strftime(buffer, 80, format, timeinfo);
 return [NSString  stringWithCString:buffer encoding:NSUTF8StringEncoding];
}

////////お気に入り.......

NSString *mydate =  [self dateInFormat:@"%Y%m%d-%H%M%S"];

願っています、これはあなたを助けます....

于 2012-06-04T13:00:09.020 に答える