0
votes

How can I know the number of years, months, weeks, days, hours and minutes from a date in the past (fixed) to now?

For example I want to compare: date1: 2009/11/10 8:23 date2: 2010/12/17 10:27

and obtain as a result: 1 year, 1 month, 1 week, 2 hours, 4 minutes

Many thanks!

2

2 Answers

3
votes

-components:fromDate:toDate:options: method in NSCalendar class does exactly what you need - you can specify what date components you need in your difference setting corresponding flags in the 1st parameter (check reference docs for more details)

0
votes
NSDate *today = [NSDate date];
NSTimeInterval interval = [today timeIntervalSinceDate:lastDate];
        int weeksForLastDate=interval/604800;

this gives you weeks similerly you can find years etc. so you need to implement this logic according to you and also date format according to you.

here interval gives you time in seconds so convert it according to you.