我知道这里有很多NSDateFormatter
问题,所以如果我复制,我很抱歉。我无法找到任何与我所要求的完全相同的东西。通过NSDateFormatter从未知格式的字符串获取NSDate
从这里所有的问题来看,我得出结论,-[NSDateFormatter dateFromString:]
将始终返回NULL
如果您的格式化程序对象没有正确的日期格式。如果您不知道格式,如何从字符串中获得日期?我试图从UITextField
得到一个日期。
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
[formatter setLenient:YES];
NSDate *tempDate = [formatter dateFromString:self.birthdayTxtfld.text];
self.currentCustomer.birthday = ([self.birthdayTxtfld.text isEqualToString:@""]) ? NULL : tempDate;
[formatter release];
tempDate
总是NULL
。
+1解析未知的字符串做这绝对是硬办法。只需将文本字段的'inputView'属性设置为包含选择器的视图即可。我在这里发布了一个这样的类的例子。(http://stackoverflow.com/a/8978326/927947)向类中添加一个'NSDateFormatter'可以很容易地格式化显示的字符串文本字段,并在稍后阅读它的值。 – NJones 2012-02-09 20:21:55
@sasquatch考虑到可能的日期格式的丰富性和复杂性,实际上不可能猜测日期的格式。只需使用'UIDatePicker'。 – Costique 2012-02-10 09:38:25
这确实是最有意义的。我没有想到这一点,但读这个答案是“doh!”时刻。谢谢你们,不幸的是,日期格式化程序没有这种可能性,虽然 – sasquatch 2012-02-10 15:55:32