Вы можете рассчитать разницу во времени между датой и наступающей полуночью и получить ее за целые дни. Отсюда легко перевести его в читабельный текст:
int days = Math.Floor((DateTime.Today.AddDays(1) - date).TotalDays);
switch (days) {
case 0: return "today, " + date.ToString("t");
case 1: return "yesterday, " + date.ToString("t");
default: return days.ToString() + " days ago";
}
Примечание: коммутатор не обрабатывает будущие даты. Для этого вам нужно проверить наличие отрицательных значений.