2

カレンダーイベントの開始日と終了日を(.icsファイルの解析中に)「20110912T220000」形式で取得しています。これをNSDateに変換して、event(EKEvent)のstartDateプロパティとして追加する方法を教えてください。

誰かが知っているなら、すぐに私を助けてください。

4

2 に答える 2

4

これに使用する必要があります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:...];
于 2011-09-26T11:40:48.627 に答える
0
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へのリンクは次のとおりです。日付/時刻形式の文字

于 2011-09-26T11:49:59.447 に答える