以下是我用来将日期从一种格式更改为另一种格式的代码。在以下代码中,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 *'答案 0 :(得分:0)
是的,您使用NSDateFormatter dateFromString将NSDate对象转换为可显示的字符串。使用NSDateFormatter stringFromDate以另一种方式。
如果您在NSDate上使用NSLog,那么它会进行description
调用,该调用呈现固定格式。但是,description
不应用于“真实”工作,因为所提供的格式未经严格定义,并且可能随时更改。
请注意,有一个"feature"的NSDateFormatter可能会错误地(在我看来)根据手机设置添加或删除AM / PM值,即使您已明确指定格式为NSDateFormatter。 / p>