カレンダーイベントの開始日と終了日を(.icsファイルの解析中に)「20110912T220000」形式で取得しています。これをNSDateに変換して、event(EKEvent)のstartDateプロパティとして追加する方法を教えてください。
誰かが知っているなら、すぐに私を助けてください。
これに使用する必要がありますNSDateFormatter。
データフォーマットガイド を参照してください(日付と時刻のプログラミングガイドも興味深い場合があります)
これについては、AppleのQ&Aのこのテクニカルノートでも詳しく説明されています。このような状況では、このテクニカルノートで説明されているように、特別な「en_US_POSIX」ロケールを使用する必要があることに注意してください。
NSDateFormatter* df = [[NSDateFormatter alloc] init];
[df setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease]];
[df setDateFormat:@"yyyyMMdd'T'HHmmss"];
NSDate* parsedDate = [df dateFromString:...];
NSString *dateString = @"20110912T220000";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSLocale *locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease];
formatter.locale = locale;
formatter.dateFormat = @"yyyyMMdd'T'HHmmss";
NSDate *date = [formatter dateFromString:dateString];
NSLog(@"date: %@", date);
NSLog()出力:date: 2011-09-13 02:00:00 +0000
NSLogは、ローカルタイムゾーンのデータを出力することに注意してください。
日付形式の「T」を囲む一重引用符に注意してください。
UTSへのリンクは次のとおりです。日付/時刻形式の文字