2012-11-06 159 views
1

我有一個與文本field.Text字段相關的日期選擇器有這樣的值星期四11月22日(從服務器調用接收字符串)。 現在我想,當我點擊文本字段日期選擇器應播種顯示在文本字段中的默認日期。 我想我要打電話[datePicker setDate:date animated:YES];但問題是,如何將字符串星期四,11月22日轉換爲NSDate? 在此先感謝。iOS設置日期選擇器的默認日期?

回答

2

我認爲ü想當年你日期:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"yyyy"]; 
NSString *yeardate = [dateFormat stringFromDate:[NSDate date]]; 

NSString *string = @"Thursday, November 22nd"; 
if ([string length] > 0) 
    string = [string substringToIndex:[string length] - 2]; 

NSString *finalstr = [NSString stringWithFormat:@"%@ %@",string,yeardate]; 
[dateFormat setDateFormat:@"EEEE,MMMM dd yyyy"]; 

NSDate *date = [dateFormat dateFromString:finalstr]; 
NSLog(@"%@",date); 
+0

的代碼片段又是怎麼回事「第1,第3,第4」? –

+0

你的代碼也將用「Moay」代替「Monday」... –

+0

而「11月22日星期四」的結果日期是1970年11月22日。 –

0

您可以按照下列

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"EEEE MMMM d, yyyy"]; 
NSString *dateStr; 
NSDate *date; 

date = [NSDate date]; 
dateStr= [formatter stringFromDate:date]; 
NSLog(@"%@", dateStr); // -> Tuesday November 6, 2012 




dateStr= @"Tuesday November 6, 2012"; 
date = [formatter dateFromString:dateStr]; 
NSLog(@"%@",date); // -> 2012-11-05 18:15:00 +0000 
+0

謝謝,但我的字符串像10月7日星期日,它會有所不同 – Blios

+0

在這種情況下,您可以參考ICU日期和時間格式來獲取所有可能的日期格式選項。 –

相關問題