2012-11-06 70 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日期和时间格式来获取所有可能的日期格式选项。 –

相关问题