Click here to Skip to main content
15,894,740 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I am building an android app that already build in iOS. I am novice to Objective-C.
I want to find the alternative classes in java, so that I can implement the logic in java that is built in Objective-C.

Here is my java code.
Java
String oldestDateString = "2015-10-01 00:00:00";
String latestDateString = "2015-12-25 00:00:00";

DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime oldestDate = fmt.parseDateTime(oldestDateString);
DateTime latestDate = fmt.parseDateTime(latestDateString);

System.out.println(oldestDate);

while (oldestDate.equals(latestDate)) {

int year = oldestDate.getYear();
int month = oldestDate.getMonthOfYear();
int day = oldestDate.getDayOfMonth();
int daysInMonth;

 daysInMonth = oldestDate.dayOfMonth().getMaximumValue();
 daysInMonth -= 1;

 }

Here is my Objective-C Code.
Objective-C
NSString *latestDateStr = firstOjbect.publishdate;
NSString *oldestDateStr =  lastObject.publishdate;
    
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
        
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
        
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *latestDate = [formatter dateFromString:latestDateStr];
//NSDate *oldestDate = [formatter dateFromString:oldestDateStr];
    
NSString *date = [[oldestDateStr componentsSeparatedByString:[NSString stringWithFormat:@" "]] objectAtIndex:0];
date = [date stringByAppendingFormat:@" 00:00:00"];
    
    
NSDate *cpDate = [formatter dateFromString:date];
    
NSMutableArray *temp = [[NSMutableArray alloc]initWithArray:self.feedsArray];
[self.feedsArray removeAllObjects];
while (NSOrderedAscending == [cpDate compare:latestDate]){

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:cpDate];

NSCalendar* cal = [NSCalendar currentCalendar];
NSRange range = [cal rangeOfUnit:NSDayCalendarUnit
                                  inUnit:NSMonthCalendarUnit
                                 forDate:cpDate];

int days = [components day];
days -= 1;
NSDate *upDate = [NSDate dateWithTimeInterval:3600*24*(range.length-days) sinceDate:cpDate];
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
date = [formatter stringFromDate:cpDate];
NSString *upDateStr = [formatter stringFromDate:upDate];
NSLog(@"date %@ with %@",date, upDateStr);
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(%K >= %@) AND (%K < %@)",@"publishdate",date,@"publishdate",upDateStr];
NSArray *todayPosts = [temp filteredArrayUsingPredicate:predicate];
todayPosts = [[todayPosts reverseObjectEnumerator]allObjects];
if(todayPosts.count >0)
[self.feedsArray insertObject:todayPosts atIndex:0];
todayPosts = nil;
cpDate = upDate;
}
[formatter release];
}
}
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900