10

如何在objective-C中拆分字符串?我正在开发一个包含日期选择器的简短应用程序。我确实显示日期从日期选择器中获取它并通过标签显示它。

我的主要问题是如何将日期拆分为三个单独的字符串?有人知道吗?

谢谢

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];

您可以使用此方法获取字符串数组,并且可以根据您的日期格式使用字符串标记器。例如“,”字符串标记器。

[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 回答