tengo este código para tomar un tiempo en el pasado y generar una cadena legible para representar cuánto tiempo atrás fue.existe una forma más inteligente de generar "tiempo desde" con un objeto DateTime
que tendría Timespan.Hours pensó que le dará horas aunque su daye múltiple en el pasado, pero parece que lo descompone en sus componentes separados (días, meses, etc.). ¿Cómo puedo obtener Hace total de horas (aunque su más de 1 día?
¿Hay alguna manera más clara para escribir este tipo de código de abajo, ya que parece bastante espagueti-ish.
Aquí es el código
DateTime when = GetDateTimeinPast();
TimeSpan ts = DateTime.Now.Subtract(when);
switch (ts.Days)
{
case 0:
if (ts.Hours < 1)
b.Append(ts.Minutes + " minutes ago");
else
b.Append(ts.Hours + " hours ago");
break;
case 1:
b.Append(" yesterday");
break;
case 2:
case 3:
case 4:
b.Append("on " + when.DayOfWeek.ToString());
break;
default:
b.Append(ts.Days + " days ago");
break;
}
Un idioma podría ayudar – TheLQ
Parece ser C#. –
@ Lord.Quackstar - etiquetas actualizadas y pregunta – leora