我正在尝试从NSDate对象类型中获取字符串并将其显示在标签中。 这是我正在使用的代码,
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init] ;
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
//[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
NSDate *datey = [dateFormatter dateFromString:selectedDate];
NSString *labelData = [dateFormatter stringFromDate:datey];
dateLabel.Text = labelData;
其中selectedDate是一个包含yyyy-mm-dd格式的日期的字符串。 标签没有显示日期。但如果我尝试给它一个像@“someblah”这样的字符串,它就会显示出来。我哪里错了? 帮助赞赏。感谢
答案 0 :(得分:2)
您的第dateLabel.Text
行应为dateLabel.text
。
因此,您从日期字符串开始,将其转换为日期,然后使用相同的格式化程序将其转换回字符串。不是更容易使用:
dateLabel.text = selectedDate;
您极有可能尝试使用与格式不一致的日期字符串创建NSDate。例如,如果格式为@"yyyy-MM-dd"
但您的selectedDate与该格式不同,则格式化程序将不返回NSDate。您可以通过将DateFormat设置为对selectedDate正确来避免这种情况,然后在解析后,更改所需输出的DateFormat。或者使用两个NSDateFormatter
个实例。
答案 1 :(得分:1)
尝试指定特定格式而不是NSDateFormatLongStyle
,例如
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
我使用谷歌在2秒内找到了这个答案..(是的,这是一个暗示)