您好我有一个问题我有一个服务器的值(日期值),我必须检查该值与当前日期,并查看哪一个更大。我正在使用以下代码,但它也显示第二个日期更大..如何解决这个问题。总是来到别的地方。
NSDateFormatter *dateFormatter=[NSDateFormatter new];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
NSDate *dateOfEvent=[dateFormatter dateFromString:@"2013-04-04 03:22:55"];
if([dateOfEvent compare:[NSDate date]]==NSOrderedAscending)
{
UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Message" message:@"Event has been passed." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
return;
}
else
{
}
答案 0 :(得分:1)
您没有正确创建日期,格式化程序必须具有与字符串相同的格式。如果您的字符串是" 2013-04-04",那么您的日期格式化程序应为" yyyy-MM-dd:
NSDateFormatter *dateFormatter=[NSDateFormatter new];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
NSDate *dateOfEvent=[dateFormatter dateFromString:@"2013-04-04"];
答案 1 :(得分:0)
以相同格式转换两个日期。然后比较如下:
if (serverDate.timeIntervalSince1970 > currentDate.timeIntervalSince1970) {
// Server date is greater. Do your stuff
}
else {
// Current date is greater. Do your stuff
}
希望这有帮助。