title: Swift - check if a timestamp is yesterday, today, tomorrow, or X days ago
body: <p>I'm trying to work out how to decide if a given timestamp occurs today, or +1 / -1 days. Essentially, I'd like to do something like this (Pseudocode)</p>
  
  <pre><code>IF days_from_today(timestamp) == -1 RETURN 'Yesterday'
  ELSE IF days_from_today(timestamp) == 0 RETURN 'Today'
  ELSE IF days_from_today(timestamp) == 1 RETURN 'Tomorrow'
  ELSE IF days_from_today(timestamp) &lt; 1 RETURN days_from_today(timestamp) + ' days ago'
  ELSE RETURN 'In ' + days_from_today(timestamp) + ' ago'
  </code></pre>
  
  <p>Crucially though, it needs to be in Swift and I'm struggling with the NSDate / NSCalendar objects. I started with working out the time difference like this:</p>
  
  <pre><code>let calendar = NSCalendar.currentCalendar()
  let date = NSDate(timeIntervalSince1970: Double(timestamp))
  let timeDifference = calendar.components([.Second,.Minute,.Day,.Hour],
      fromDate: date, toDate: NSDate(), options: NSCalendarOptions())
  </code></pre>
  
  <p>However comparing in this way isn't easy, because the <code>.Day</code> is different depending on the time of day and the timestamp. In PHP I'd just use mktime to create a new date, based on the start of the day (i.e. <code>mktime(0,0,0)</code>), but I'm not sure of the easiest way to do that in Swift.</p>
  
  <p>Does anybody have a good idea on how to approach this? Perhaps an extension to NSDate or something similar would be best?</p>