代码之家  ›  专栏  ›  技术社区  ›  Ian McIntyre Silber

NSDate dateFromString已弃用?

  •  3
  • Ian McIntyre Silber  · 技术社区  · 14 年前

    我正在尝试使用NSDate dateFromString方法,但收到警告,应用程序正在崩溃。代码如下所示:

    NSString *pickerDate = [NSString stringWithFormat:@"%@", timeSelector.date];
    NSDate *defaultDate = [NSDate dateFromString:pickerDate];
    

    'NSDate' may not respond to '+dateFromString'.
    

    似乎该方法已被弃用(在从XCode 2升级到3的过程中)。

    3 回复  |  直到 12 年前
        1
  •  15
  •   Nick Forge    14 年前

    NSDateFormatter 是你获得 NSDate NSString .

    NSString *dateString = @"3-Aug-10";
    
    NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    dateFormatter.dateFormat = @"d-MMM-yy";
    
    NSDate *date = [dateFormatter dateFromString:dateString];
    
        2
  •  2
  •   shrinetree    12 年前

    我也有同样的问题。 我将日期格式从@“YYYY/M/d H:M:s”更改为@“YYYY/MM/dd HH:MM:ss”,如下所示。 然后它在我的iphone4上工作(iOS 6的Xcode 4.5。)


    NSDateFormatter *dateFormatter1;
    NSString *dateStr1=@"";
    NSDate *gantanDate1;
    
    dateFormatter1 = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormatter1 setLocale:[NSLocale systemLocale]]; 
    [dateFormatter1 setTimeZone:[NSTimeZone systemTimeZone]]; 
    dateFormatter1.dateFormat=@"YYYY/MM/dd HH:mm:ss";
    dateStr1=@"2012/1/1 00:00:00"];
    //  in his case,   dateStr1=pickerDate;  
    gantanDate1 = [dateFormatter1 dateFromString:dateStr1];
    
        3
  •  0
  •   SURESH SANKE    12 年前

    Hi-Silber每个人都说同样的话来将字符串日期转换为日期对象。试试这个,我想你已经在两个地方使用了两个日期格式化程序,在这两个地方你将日期保存为字符串并从字符串获取日期。对,在这两个地方尝试使用相同的日期格式化程序。它会解决你的问题。