Swift version: 5.6
Calendar object gives us lots of useful methods for evaluating dates in various ways. One of the most useful is the method
isDate(_:equalTo:toGranularity:), which lets us compare two dates at a specific level of granularity: do these two dates occur in the same minute? The same hour? Or day, week, year?
As an example, here are two dates for us to work with:
let first = Date.now let second = Date.now.addingTimeInterval(10000)
We can now check whether those two occur within the same day, like this:
let sameDay = Calendar.current.isDate(first, equalTo: second, toGranularity: .day)
If all you want to do is check whether a date points to some time during today, you should use
let isToday = Calendar.current.isDateInToday(first)
SPONSORED Want to try Swift on microcontrollers? MadMachine provides ways to interact with the physical world in a Swift way. Join us and have fun!
Available from iOS 8.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.