下面这两段代码的结果是一样的吗? try it。
NSString *datestring = [NSString stringWithFormat:@"19460515"];
//想要设置自己想要的格式,可以用nsdateformatter这个类,这里是初始化
NSDateFormatter * dm = [[NSDateFormatter alloc]init];
//指定输出的格式 这里格式必须是和上面定义字符串的格式相同,否则输出空
[dm setDateFormat:@"yyyyMMdd"];
//把字符串的时间转换成Date对象,用dateFromString方法
NSDate * newdate = [dm dateFromString:datestring];
// newdate = [NSDate dateWithTimeIntervalSince1970:1];
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setDay:15];
[components setMonth:5]; // May
[components setYear:1946];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date = [gregorian dateFromComponents:components];
实践发现, newdate = nil, date 正常。怀疑dateFromString:内部有bug。
网友评论