Sql 比较两个日期(当前日期和数据库中的日期)
我试图比较两个日期,一个来自数据库,另一个是系统的当前日期。数据库中的日期被解析为字符串,我想将其转换为Sql 比较两个日期(当前日期和数据库中的日期),sql,objective-c,nsdate,Sql,Objective C,Nsdate,我试图比较两个日期,一个来自数据库,另一个是系统的当前日期。数据库中的日期被解析为字符串,我想将其转换为NSDate。我面临的问题是NewsDate是nil -(void)viewDidLoad { // Do any additional setup after loading the view. self.title=self.ntitle; _lblDate.text=self.ndateNews; _lblDetail.text=sel
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";
}
}
您使用了错误的日期格式模式 是您想要的日期格式 此外,如果要检查
新闻日期是否为今天,则应使用:
BOOL today = [[NSCalendar currentCalendar] isDateInToday:NewsDate];
检查日期是否等于NSDate date
会告诉我日期必须精确匹配-精确到毫秒
请注意,仅限iOS 7。如果您想要一个同样适用于iOS 6的版本,请给我留言:)
NewsDate
是nil
作为self.ndateNews
无法正确解析-其格式可能与MM DD yyyy hh:MM:ss+EEEE
不同。什么是NSLog(@“%@”,self.ndateNews)代码>输出?另请注意,EEEE
是根据2014-04-16T00:00:00+03:00确定的周数。没问题-我希望今天的检查也能帮助解决这个问题:“-(BOOL)isDateInToday:(NSDate*)date NS_AVAILABLE(10_9,8_0);”所以它只适用于iOS 8。
BOOL today = [[NSCalendar currentCalendar] isDateInToday:NewsDate];