     }
     
     func updateDate() {
-        if let date = date {
-            title.text = dateFormatter.string(from: date)
+        if let _ = date {
+            title.text = adjustedDateTitle()
         } else {
             title.text = nil
         }
         delegate?.dateChanged(to: date)
+    }
+    
+    func adjustedDateTitle() -> String? {
+        guard let date = date else { return nil }
+        if let relativeDay = date.relativeDayString {
+            return String.localizedStringWithFormat(NSLocalizedString("%@ at %@", comment: "Format string for relative date. First parameter is relative day. Second parameter is time. E.g. Yesterday at 11:30 AM"), relativeDay, timeFormatter.string(from: date))
+        }
+        return dateFormatter.string(from: date)
     }
     
     func constrainFullWidth(_ view: UIView, leading: CGFloat = 0, top: CGFloat = 0, trailing: CGFloat = 0, bottom: CGFloat = 0) {

            datePicker.datePickerMode = .time
            dateFormatter.timeStyle = .short
            dateFormatter.dateStyle = .full
            currentButtonTitle = NSLocalizedString("Set to current date/time", comment: "Button title to set date to current date and time")
        } else if computedCapabilities.contains(.timeOnly) {
            datePicker.datePickerMode = .time

    // MARK: - Private properties
    
    fileprivate lazy var dateFormatter = DateFormatter()
    fileprivate lazy var timeFormatter = DateFormatter()
    fileprivate let backgroundView = UIView()
    fileprivate let blurView = UIVisualEffectView(effect: UIBlurEffect(style: .extraLight))
    fileprivate var date: Date?
