10

Objective-Cで文字列を分割するには? 日付ピッカーを含む短いアプリケーションに取り組んでいます。日付ピッカーから取得した日付を表示し、ラベルを介して表示します。

私の主な質問は、日付を 3 つの別々の文字列に分割するにはどうすればよいかということです。誰もそれについて考えていますか?

ありがとう

4

4 に答える 4

19

-[NSString componentsSeparatedByString:]またはを使用しNSScannerて文字列を分割したり、 を使用NSCalendarして関心のある日付の断片を抽出したりできます。

于 2011-02-23T18:37:41.287 に答える
9

のようなものを使用します[yourString componentsSeparatedByString:@"/"]。分離された文字列の NSArray を取得します。

于 2011-02-23T18:35:38.533 に答える
2

NSDateFormatter を使用して日付を特定の形式にフォーマットし、NSDate を NSString に変換できる場合。componentsSeparatedByString を使用して、日付文字列からコンポーネントを抽出できます。

NSDate *myDate = datePicker.date;//if you are getting date from date picker

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"cccc, MMM d, hh:mm aa"];//you can use any date format also
NSString *myDateString = [dateFormat stringFromDate:myDate];

このメソッドを使用して文字列の配列を取得し、dateformat に従って文字列トークナイザーを使用できます。たとえば、"," 文字列トークナイザーです。

[myDateString componentsSeparatedByString:@","];
于 2011-12-12T04:26:18.417 に答える
0

次のコードを使用して、日付を別々のコンポーネントに分割できます。

NSDate *inputDate = [NSDate date];  //assign the value selected from date picker 
NSCalendar* calendar = [NSCalendar currentCalendar];

unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit;
NSDateComponents* componentObj = [calendar components:unitFlags fromDate:inputDate];
NSInteger day = componentObj.day;
NSInteger month = componentObj.month;
NSInteger year = componentObj.year;
于 2015-06-19T07:51:42.840 に答える