Мне нужно проверить дату события, которая должна быть между текущей датой и 60 днями позже. Используется код ниже, но он НЕ работает правильно. Обратите внимание, что я получаю строку с таким же событием - «2012-04-14T16: 50: 02Z» с моего сервера.iPhone: проблемы с преобразованием даты
// current date
double currDateInMilliSecs = [NSDate timeIntervalSinceReferenceDate] * 1000;
NSLog(@"currDateInMilliSecs: %f", currDateInMilliSecs);
// sixty days
double sixtydaysvalue = 60.0 * 24.0 * 3600.0 * 1000.0;
NSLog(@"sixtydaysvalue: %f", sixtydaysvalue);
// add current date + sixt days
double sixtyDaysMilliSecsFromCurrDate = currDateInMilliSecs + sixtydaysvalue;
NSLog(@"sixtyDaysMilliSecsFromCurrDate: %f", sixtyDaysMilliSecsFromCurrDate);
// check does the event date between current date + 60 days
NSDateFormatter *df = [[NSDateFormatter alloc] init];
//[df setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];
//[df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
// [eventDict objectForKey:@"begin_at"] gives date string like this "2012-04-14T16:50:02Z" for ex.
NSDate *eventdate = [df dateFromString:[eventDict objectForKey:@"begin_at"]];
NSTimeInterval nowSinceEventDate = [eventdate timeIntervalSince1970];
NSLog(@"nowSinceEventDate: %f", nowSinceEventDate);
double eventDateInMilliSecs = nowSinceEventDate * 1000;
NSLog(@"eventDateInMilliSecs: %f", eventDateInMilliSecs);
// this is not working as expected
if (eventDateInMilliSecs<sixtyDaysMilliSecsFromCurrDate && eventDateInMilliSecs>currDateInMilliSecs)
{
}
else
{
}
Любая помощь пожалуйста?
Если вам нужно разогнать миллисекунду вместе со временем, как 3: 43: 12: 23 глупость мой ответ или ответ @ vinay – Ranga
возможный дубликат [iPhone: проблема сравнения даты между текущей датой и шестидесяти днями с текущей даты] (http://stackoverflow.com/questions/10228816/iphone-issue-comparing-a-date-between-current-date-and-sixty-days-from-current) –