code: def prettyDateDifference(startTime, finishTime=None):
      
      from datetime import datetime
  
      if startTime is None:
          return None
  
      if not isinstance(startTime, (int, datetime)):
          raise RuntimeError("Cannot parse time")
  
      endTime = finishTime or datetime.now()
  
      if isinstance(startTime, int):
          diff = endTime - datetime.fromtimestamp(startTime)
      elif isinstance(startTime, datetime):
          diff = endTime - startTime
      else:
          diff = endTime - endTime
  
      second_diff = diff.seconds
      day_diff = diff.days
  
      if day_diff < 0:
          return ''
  
      if day_diff == 0:
          if second_diff < 10:
              return "just now"
          if second_diff < 60:
              return str(second_diff) + " seconds ago"
          if second_diff < 120:
              return "a minute ago"
          if second_diff < 3600:
              return str(int(second_diff / 60)) + " minutes ago"
          if second_diff < 7200:
              return "an hour ago"
          if second_diff < 86400:
              return str(int(second_diff / 3600)) + " hours ago"
      if day_diff == 1:
          return "Yesterday"
      if day_diff < 7:
          return str(day_diff) + " days ago"
docs: Get a datetime object or a int() Epoch timestamp and return a
      pretty string like 'an hour ago', 'Yesterday', '3 months ago',
      'just now', etc