55

文字列形式の日付を持つ iPhone 用のカレンダー アプリケーションを作成しました (例: "Tue, 25 May 2010 12:53:58 +0000")。

これを に変換したいNSDate

そのためには何を使用する必要がありますか?

4

4 に答える 4

129

NSDateFormatterのクラス リファレンスを見てください。次のように使用します。

NSString *dateStr = @"Tue, 25 May 2010 12:53:58 +0000";

// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE, d LLLL yyyy HH:mm:ss Z"];
NSDate *date = [dateFormat dateFromString:dateStr]; 
[dateFormat release];

その NSDateFormatter をカスタマイズする方法の詳細については、このリファレンス ガイドを試してください。

編集:

ご存知のように、これは完全な月名を解析します。3 文字の月名が必要な場合は、LLL代わりにLLLL.

于 2010-12-07T18:46:34.797 に答える
8
-(NSString *)dateToFormatedDate:(NSString *)dateStr {
    NSString *finalDate = @"2014-10-15";
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];
    NSDate *date = [dateFormatter dateFromString:dateStr];
    [dateFormatter setDateFormat:@"EE, d MMM, YYYY"];
    return [dateFormatter stringFromDate:date];
}
于 2015-07-22T07:34:05.757 に答える