我尝试使用以下代码将两个NSString格式化为NSDate:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/yyyy"];
NSString *dateString = @"5/1916";
NSString *dateString2 = @"6/1916";
NSDate *date = [dateFormatter dateFromString:dateString];
NSDate *date2 = [dateFormatter dateFromString:dateString2];
猜猜:
日期为nil,date2工作正常(isn&#t; t nil)。 知道这是怎么来的吗?
编辑: 对于那些认为它是关于字符串的人来说,下一个屏幕截图有同样的问题。
答案 0 :(得分:0)
您的代码可以完美地使用以下结果
Printing description of dateString:
05/1916
Printing description of date:
1916-04-30 18:06:40 +0000
但问题是NSDate必须具有day, month , year
只需修改代码以便为dateformatter提供正确的日期。
答案 1 :(得分:0)
在大多数语言中,5/1916将不被接受,但05/1916是,因为格式是MM / yyyy而不是M / yyyy。字符串的长度是强制性的。
希望有所帮助, eiran