在objc中转换日期格式

时间:2011-10-04 07:12:10

标签: iphone objective-c datetime

以下是我用来将日期从一种格式更改为另一种格式的代码。在以下代码中,child.dob采用NSDate作为yyyy-MM-dd格式我想要更改为MMM dd, yyyy格式我可以更改日期格式但是我在此处收到警告消息。请帮我转换日期,不要警告..提前感谢。

  NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];
    NSDate *date = [dateFormatter dateFromString:child.dob]; 
    [dateFormatter setDateFormat:@"MMM dd, yyyy"];
    dobLabel.text = [dateFormatter stringFromDate:date];

这是我收到的警告信息: :801:警告:不兼容的Objective-C类型'struct NSDate *',在传递'dateFromString:

的参数1时需要'struct NSString *'

1 个答案:

答案 0 :(得分:0)

是的,您使用NSDateFormatter dateFromString将NSDate对象转换为可显示的字符串。使用NSDateFormatter stringFromDate以另一种方式。

如果您在NSDate上使用NSLog,那么它会进行description调用,该调用呈现固定格式。但是,description不应用于“真实”工作,因为所提供的格式未经严格定义,并且可能随时更改。

请注意,有一个"feature"的NSDateFormatter可能会错误地(在我看来)根据手机设置添加或删除AM / PM值,即使您已明确指定格式为NSDateFormatter。 / p>