将NSString转换为NSDate
问题描述:
我有日期字符串:2010年10月11日星期一。我怎样才能创建一个NSDate对象,然后从它得到不同的组件,如日,月,日,年。请注意,该字符串的格式/语言环境可能会在运行时更改。将NSString转换为NSDate
答
另一种可能性:
NSCalendar *calendar = [NSCalendar currentCalendar];
NSInteger units = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *components = [calendar components:units fromDate:date];
NSInteger year = [components year];
...
+0
谢谢。有效。 – Abhinav 2010-10-12 03:46:10
答
使用NSDateFormatter创建NSDate的,那么你可以通过NSDate的属性访问它的组件(你需要调整下面的格式字符串):
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZZ"];
if(NSDate *myDate = [df dateFromString:string]) {
//Do something with myDate
}
可能重复的[NSString到NSDate](http://*.com/questions/1353081/nsstring-to-nsdate) – 2010-10-12 00:32:57
号我需要比这更多:)。 – Abhinav 2010-10-12 00:35:17