我知道這裏有很多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