2011-06-01 69 views
0

以下代码我可以用来将UILabel的值存储到一个字符串中。并且字符串的值存储到NSDate中。iphone NSDate问题

NSString *star = [[NSString alloc]init]; 
star = lbtInDate.text; 
NSString *end = [[NSString alloc]init]; 
end = lblOutDate.text; 
NSDateFormatter *dateFormatter1=[[NSDateFormatter alloc]init]; 
[dateFormatter1 setDateFormat:@"yyyy-MM-dd HH:mm"]; 
NSDate *sdate= [dateFormatter1 dateFromString:star]; 
NSDate *edate=[dateFormatter1 dateFromString:end]; 

但sdate和edate的值显示为零。所以请帮助我如何将UILabel的值存储到NSDate中进行比较。

+0

两两件事:你确定'lbtInDate'和'lblOutDate'连接在你的XIB文件(不为零)?而且,你如何检查'sdate'和'edate'的值? – jtbandes 2011-06-01 05:42:59

+0

此外,只是一个快速提示:你不必做'NSString * foo = [[NSString alloc] init]; foo = ...;'。这实际上泄漏了内存而不是你应该做'NSString * foo = ...;'。 – jtbandes 2011-06-01 05:43:40

+0

只需将NSLog转换为日期,然后将其转换为日期,以便您可以确保从标签中获取值(不是标签)。 – Krishnabhadra 2011-06-01 05:46:08

回答

1

您的代码完全有效,只有lbtInDate.text;lblOutDate.text;尊重日期格式。如果不是,你的NSDate将是null。

如果lblOutDate.text;类似于@"2002-12-23",那么您的日期格式应该是@"yyyy-MM-dd"依此类推。

Data Formatting Guide

+0

非常感谢你 – Naresh 2011-06-01 07:07:56