2011-05-12 53 views
3

我有一个文本字段,用户可以用这种格式插入日期和时间: MMDDHHMM(11230530),我希望标签在0530上午设置为11月23日。 我试过了:NSDateFormatter - SetDateFormat

NSString *data = [NSString stringWithFormat:@"%@", [date text]]; 

    // Convert string to date object 
NSDateFormatter *dateFormatter =[[NSDateFormatter alloc]init]; 
[dateFormatter setDateFormat:@"MMdd hh:mm"]; 
NSDate *dateFromString = [dateFormatter dateFromString:data]; 
NSLog(@"%@", dateFromString); 

// Convert date object to desired output format 
[dateFormatter setDateFormat:@"???????????"];// I don't know how to change the format ;-) 
data = [dateFormatter stringFromDate:dateFromString]; 
NSLog(@"%@", data); 
[dateFormatter release]; 

但是我得到的数据为空。任何线索?

回答

10

使用此代码,

NSString *date = [NSString stringWithFormat:@"11230530"]; 
NSDateFormatter *dateFormatter =[[NSDateFormatter alloc]init]; 
[dateFormatter setDateFormat:@"MMddHHmm"]; 

NSDate *dateFromString = [dateFormatter dateFromString:date]; 
NSLog(@"%@", dateFromString); 
[dateFormatter release]; 

dateFormatter =[[NSDateFormatter alloc]init]; 
[dateFormatter setDateFormat:@"dd MMMM' at 'hhmm a"]; 
NSString *stringFromDate=[dateFormatter stringFromDate:dateFromString]; 
//Use this text to display in that textfield 
[dateFormatter release]; 
+0

正是我一直在寻找!谢谢 – mat 2011-05-12 08:37:49

+0

@mattia:你欢迎:) – KingofBliss 2011-05-12 08:39:06

+0

我已经使用这个 – mat 2011-05-12 08:39:28

2

使用此代码以这种方式

NSDate *data = [NSDate stringWithFormat:@"%@", [date text]];]; 
NSDateFormatter *dateFormatter =[[NSDateFormatter alloc]init]; 
[dateFormatter setDateFormat:@"MMdd hh:mm"]; 

NSDate *dateFromString = [dateFormatter dateFromString:data]; 
NSLog(@"%@", dateFromString); 

希望它能帮助。