我正在尝试比较数据库中的两个日期,另一个是系统的当前日期。数据库中的日期被解析为字符串,我想将其转换为NSDate
。我面临的问题是NewsDate
是nil
。
-(void)viewDidLoad
{
// Do any additional setup after loading the view.
self.title=self.ntitle;
_lblDate.text=self.ndateNews;
_lblDetail.text=self.ndetails;
_lblTitre.text=self.title;
NSDate *currDate=[NSDate date];
NSDateFormatter *DateFormats=[[NSDateFormatter alloc ]init];
[DateFormats setDateFormat:@"MM-DD-yyyy hh:mm:ss +EEEE"];
NSLog(@"selected date %@",self.ndateNews);
NSDate *NewsDate=[DateFormats dateFromString:self.ndateNews];
NSLog(@"string transformed into date %@",NewsDate);
NSLog(@" system date %@",currDate);
if ([currDate isEqualToDate:NewsDate]){
_lblDate.text=@"today";
}
}
答案 0 :(得分:1)
您使用的是错误的日期格式模式see this page for info。
yyyy-MM-dd'T'HH:mm:ssZZZZZ
您想要的日期格式。
另外,如果你想检查NewsDate
今天是否应该使用:
BOOL today = [[NSCalendar currentCalendar] isDateInToday:NewsDate];
检查日期是否等于NSDate date
我的日期必须与完全匹配 - 一直到毫秒!
请注意,-isDateInToday:
仅限iOS 7 。如果您想要一个适用于iOS 6的版本,请给我留言:)