Calculating Dates
As you’ve seen earlier in this chapter, the number of moving parts
required to work with Cocoa Touch
dates is far greater than the one moving part of the JavaScript Date object. When it comes to dealing with date
calculations, you must once again forget what you know about JavaScript
and prepare to get into calendars and components. In this section, I’ll
describe two typical date calculation tasks: determining the date for 10
days from today and determining the number of days between two dates.
Although the two tasks use the same classes to achieve their results, the
processes are quite different.
10 Days in the Future
The act of adding or subtracting minutes, days, months, or any
other units from a date means that you are modifying one or more
components of the date. You must carry out such modifications within the
context of a particular calendaring system. Even if all of your date
manipulation occurs in the Gregorian calendar, you must specify a
calendar because it is the NSCalendar
class that provides the necessary method that calculates a new date
object based on modifications to an existing date object. The method,
dateByAddingComponents:toDate:options:,
assumes you have an NSDateComponents
object detailing the components being modified and by how much (positive
or negative integer values). The method then applies those modifications
to the date supplied as the second argument.
You can experiment with this combination in the dateHasBeenPicked: method added to ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access