Iphone 将字符串(作为日期)除以以获取字符串的特定部分(作为月份)
我正在从网络服务器获取一些数据。在该数据中有一个日期(即11-07-1978)。我希望得到一个整数形式的月份,比如(int month=7) 我尝试从字符串中创建一个NSDate,并使用NSDateComponents将月份作为一个组件。但是我只得到值1 以下是我的代码片段:Iphone 将字符串(作为日期)除以以获取字符串的特定部分(作为月份),iphone,string,date,components,nsdate,Iphone,String,Date,Components,Nsdate,我正在从网络服务器获取一些数据。在该数据中有一个日期(即11-07-1978)。我希望得到一个整数形式的月份,比如(int month=7) 我尝试从字符串中创建一个NSDate,并使用NSDateComponents将月份作为一个组件。但是我只得到值1 以下是我的代码片段: NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; dateFormatter.dateForma
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
dateFormatter.dateFormat = @"yyyy-MM-dd";
NSDate *dateFromString = [dateFormatter dateFromString:[[NSUserDefaults standardUserDefaults] objectForKey:@"result_expdate"]];
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSWeekCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:dateFromString];
int day = [components day];
int month = [components month];
int year = [components year];
NSLog(@"month = %d", month);
如何将月份作为整数计算?这里有一种快速而肮脏的方法- 这是手写的,所以可能有打字错误
//chop up the string by "-"
NSString * dateString = @"11-07-2011";
NSArray * tempArray = [dateString componentsSeparatedByString:@"-"];
// set string to month
NSString * monthString = [[tempArray objectAtIndex:1]description];
//remove 0's from date if any
monthString = [monthString stringByReplacingOccurrencesOfString:@"0" withString:@""];
//change string to int
int month = [[NSString stringWithFormat:@"%@",monthString] intValue];
您的日期格式与代码之间不匹配-这是打字错误还是实际问题?您说格式化的日期是较大字符串的一部分。如何将日期部分与周围内容分开,以及代码中的哪些变量对应于日期部分和/或整个字符串。