Iphone 将NSString转换为NSDate

Iphone 将NSString转换为NSDate,iphone,Iphone,可能重复: 您好,我想将字符串“2011年10月1日18:30”转换为NSDate格式2011-05-13 19:00:00+0800. 我尝试了许多格式化程序,但每次都得到一个空值。 有人能帮我吗?试试这个 NSDateFormatter *datefor = [[[NSDateFormatter alloc] init] autorelease]; [datefor setDateFormat:@"MMM dd, yyyy HH:mm"]; NSDate *date =

可能重复:

您好,我想将字符串“
2011年10月1日18:30
”转换为
NSDate
格式
2011-05-13 19:00:00+0800.
我尝试了许多格式化程序,但每次都得到一个空值。 有人能帮我吗?

试试这个

NSDateFormatter *datefor = [[[NSDateFormatter alloc] init] autorelease];
     [datefor setDateFormat:@"MMM dd, yyyy HH:mm"];
     NSDate *date = [datefor dateFromString:@"OCT 1, 2011 18:30"];
    [datefor setDateFormat:@"yyyy-MM-dd hh:mm:ss"]; 
     NSString *str=  [[NSString alloc] initWithString:[datefor stringFromDate:date]];
     NSDate *date_fianl = [datefor dateFromString:str];
      [str release];
     NSLog(@"%@",date_fianl);//it will print 2011-10-01 01:00:00 +0000

您可以尝试这段代码,它将帮助您,因为我已成功运行

    NSString *dateStr = @"OCT 1, 2011 18:30";
    NSDateFormatter *dtF = [[NSDateFormatter alloc] init];
    [dtF setDateFormat:@"LLL d, yyyy HH:mm"];
    NSDate *d = [dtF dateFromString:dateStr];
    NSDateFormatter *dateFormatStr = [[NSDateFormatter alloc] init];
    [dateFormatStr setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
    NSDate *st = (NSDate *)[dateFormatStr stringFromDate:d];   
    NSLog(@"%@",st);

您能否发布您尝试过的内容,以便我们确定您可能出了什么问题?NSDate没有“格式”。你的意思是想将一个日期字符串转换成另一种格式的同一日期字符串吗?这可能会对你有所帮助:重复这个问题…非常感谢,这对我来说很有用…谢谢你。。我也在搜索这个+从我这边。