Iphone 正在形成“字符串”;2012年6月29日;进入NSDate';s";NSDATEFormateTerminiumStyle;?
我试图将月份和日期与下面的字符串分开Iphone 正在形成“字符串”;2012年6月29日;进入NSDate';s";NSDATEFormateTerminiumStyle;?,iphone,ios,ios5,nsdate,nsdateformatter,Iphone,Ios,Ios5,Nsdate,Nsdateformatter,我试图将月份和日期与下面的字符串分开 2012-06-29 我已尝试通过执行以下操作将字符串格式化为中等样式: //Setting Up My Formatter formatter = [[NSDateFormatter alloc] init]; [formatter setDateStyle:NSDateFormatterMediumStyle]; [formatter setTimeStyle:NSDateFormatterShortStyle]; Forming String In
2012-06-29
我已尝试通过执行以下操作将字符串格式化为中等样式:
//Setting Up My Formatter
formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
Forming String Into Formatted Date
NSDate *dateFromString = [formatter dateFromString:event.date];
//Separating Components
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:dateFromString];
//Assigning Each Component to my Cell's Labels
cell.dayLabel.text = [NSString stringWithFormat:@"%d", [components day]];
cell.monthLabel.text = [NSString stringWithFormat:@"%d", [components month]];
当我运行nslog时,我的“event.date”come back 2012-06-26&dateFromString返回空值。有人能帮我指引正确的方向吗?非常感谢
编辑:
因此,我最终从您的帮助中发现,我设置的格式不正确。而不是使用:
[formatter setDateStyle:NSDateFormatterMediumStyle];
我现在使用:
[formatter setDateFormat:@"yyyy-MM-dd"];
这是我的问题,从组件来看,月份是一个整数(1,2,3),但我希望它返回为“MMM”(1月,2月,3月)。谢谢!尝试设置setDateFormat
[格式化程序setDateFormat:@“yyyy-MM-dd”];尝试设置setDateFormat
[formatter setDateFormat:@“yyyy-MM-dd”];由于您已告知它需要以下格式的字符串(来自): 1937年11月23日下午3:30 您需要使用以下内容设置自定义格式:
[formatter setDateFormat:@"yyyy-MM-dd"];
dateFromString
失败,因为您已告诉它需要以下格式的字符串(来自):
1937年11月23日下午3:30
您需要使用以下内容设置自定义格式:
[formatter setDateFormat:@"yyyy-MM-dd"];
我会这样做: 首先创建NSDateFormatter以正确接收字符串:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:"yyyy-MM-dd"];
从字符串中获取日期:
NSDate *yourDate = [formatter dateFromString:@"2012-06-29"];
获取日期的组件:
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:yourDate];
获取组件的属性:
[components day];
[components month];
[components year];
发布需要发布的内容:
[formatter release];
评论回复:
是的,你应该做相反的事情
创建另一个NSDateFormatter(使用引用:http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns)
`
此时,您可以将其截断/大写为您想要的任何形式,因为您将得到小写形式,而且可能有点太长。(请查看参考资料)以下是我的操作方法: 首先创建NSDateFormatter以正确接收字符串:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:"yyyy-MM-dd"];
从字符串中获取日期:
NSDate *yourDate = [formatter dateFromString:@"2012-06-29"];
获取日期的组件:
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:yourDate];
获取组件的属性:
[components day];
[components month];
[components year];
发布需要发布的内容:
[formatter release];
评论回复:
是的,你应该做相反的事情
创建另一个NSDateFormatter(使用引用:http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns)
`
此时,您可以将其截断/大写为您想要的任何形式,因为您将得到小写形式,并且可能有点太长请看,您可能需要设置日期格式设置器的区域设置。请看,您可能需要设置日期格式设置器的区域设置。谢谢,但对于这个月,我希望格式为APR、JUN或OCT…而不是4、6或10。有可能吗?谢谢,但是对于这个月,我希望格式为APR、JUN或OCT…而不是4、6或10.有可能吗?谢谢,但是这个月我希望格式为4、6或10,而不是4、6或10。有可能吗?谢谢,但是这个月我希望格式为4、6或10,而不是4、6或10。有可能吗?