0

文字列形式の広告「2012-04-11T07:51:10 +0000」で日付を取得しています。これを「11-04-2012」としてNSDateに変換したいと思います。これに「setDateFormat」を使用する方法がわかりません。

これが私がしていることです-[dateFormattersetDateFormat:@ "yyyy'-' MM'-' dd'T'HH':' mm':' ss'+' zzzz"];

助けてください。

そして、私が取得するNSDateが何であれ、私は再び文字列に変換したいと思います。2012年11月4日のみ。gglで検索しました。しかし、満足のいく結果はありません:(

助けてください。

4

2 に答える 2

0

文字列を解析して日付を生成する方法は次のとおりです。

NSString *dateString = @"2012-04-11T07:51:10+0000";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyy-MM-dd'T'HH:mm:ssZ";
NSDate *date = [formatter dateFromString:dateString];
NSLog(@"Date: %@", date);

これで、次のように日付の新しい文字列表現を生成できます。

formatter.dateFormat = @"dd-MM-yyyy";
NSString *newDateString = [formatter stringFromDate:date];
NSLog(@"New string: %@", newDateString);
// 11-04-2012

使用していた問題は、dateFormatなどのすべてのシンボルをエスケープする必要がないことです。これは、タイプのタイムゾーンを解析するための正しいシンボル'MM'ではありません。zzzz+0000

詳細については、このドキュメントを参照してください。

于 2012-04-11T10:01:20.357 に答える
0

このコードを試してください。

NSString *dateStr = @"Wed, 22 Jun 2011 12:36:00 +0100"; // change value base on your requirement.

    // Convert string to date object
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"EEE, d MMM yyyy HH:mm:ss ZZZ"]; // Change format base on dareStr.
    NSDate *date = [dateFormat dateFromString:dateStr];  

    // Convert date object to desired output format
    [dateFormat setDateFormat:@"EEE, MMM d YYYY"]; // Change format base on your output requirement
    dateStr = [dateFormat stringFromDate:date];
    NSLog(@"Date -- %@",dateStr);
    [dateFormat release];
于 2012-04-11T10:07:19.780 に答える