比较两个日期(数据库中的当前日期和日期)

时间:2014-04-22 17:48:03

标签: sql objective-c nsdate

我正在尝试比较数据库中的两个日期,另一个是系统的当前日期。数据库中的日期被解析为字符串,我想将其转换为NSDate。我面临的问题是NewsDatenil

  -(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";

    }

}

1 个答案:

答案 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的版本,请给我留言:)